判断相同的树

100 阅读1分钟

LeetCode 100

原题链接

代码如下:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 * 
 * 借助isSame函数,判断当前s树某节点为根节点的子树是否存在t树一样的子树
 * 
 * Code by java
 */
class Solution {
    public boolean isSameTree(TreeNode s, TreeNode t) {
        if(t == null && s == null) return true;		//两树都是空树,说明都遍历到尽头了,符合条件
        if(t == null || s == null) return false;	//两树有且仅有一棵是空树,不满足题意
        if(t.val != s.val) {
            return false;
        } else {
            return isSameTree(t.left, s.left) && isSameTree(t.right, s.right);
        }
    }
}