分析
难度 易
来源
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 }