flowingfog

偶尔刷题

  博客园  :: 首页  :: 新随笔  :: 联系 ::  :: 管理

分析

难度         易

来源

https://leetcode.com/problems/same-tree/

题目

Given two binary trees, write a function to check if they are the same or not.

Two binary trees are considered the same if they are structurally identical and the nodes have the same value.

Example 1:

Input:     1           1

               / \         / \

             2   3     2   3

          [1,2,3],   [1,2,3]

Output: true

Example 2:

Input:     1         1

               /           \

             2             2

           [1,2],     [1,null,2]

Output: false

Example 3:

Input:     1         1

               / \       / \

            2   1     1   2

          [1,2,1],   [1,1,2]

Output: false

解答

参考 https://www.cnblogs.com/grandyang/p/4053384.html

 1 package LeetCode;
 2 
 3 /**
 4  * Definition for a binary tree node.
 5  * public class TreeNode {
 6  *     int val;
 7  *     TreeNode left;
 8  *     TreeNode right;
 9  *     TreeNode(int x) { val = x; }
10  * }
11  */
12 public class L100_SameTree {
13     public boolean isSameTree(TreeNode p, TreeNode q) {
14         if(p==null&&q==null)
15             return true;
16         if((p==null&&q!=null)||(p!=null&&q==null)||(p.val!=q.val))
17             return false;
18         return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
19     }
20 }

 

posted on 2018-10-30 19:18  flowingfog  阅读(104)  评论(0编辑  收藏  举报