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);}
}