您的位置:首页 > 职场人生

LeetCode-Easy刷题(19) Same Tree

2017-11-29 18:45 405 查看
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


判断两个树是否相同,结构和数值都相同则为相同的树

//树的遍历 结束条件
public boolean isSameTree(TreeNode p, TreeNode q) {

if(p==null && q ==null){
return true;
}

if(p ==null || q ==null){
return false;
}

if(p.val != q.val){
return false;
}

return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}

class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java LeetCode 刷题 面试