100. 相同的樹
解題思路
- 深度優先遍歷
- 首先寫的就是遞歸結束條件
- 當兩個節點都是null 直接返回true
- 當只有其中一個節點是null 返回false
- 當兩個節點的值不相等的時候 直接false
- 然后兩棵樹的左節點 兩個樹的右節點
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {// 比較兩棵樹是否相等// 深度優先遍歷// 當兩個節點都是null的時候 返回true 遞歸出口if(p == null && q == null){return true;}else if(p ==null || q == null){return false;}else if(p.val != q.val){return false;}return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);}
}