题解 | #树的子结构#

树的子结构

http://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88

这道题其实不难,但是我一直在纠结
{8,8,#,9,#,2,#,5},{8,9,#,2}
是怎么个树结构?

原来是:

      8
     8 #
    9 #
   2 #
  5

解题思路就是利用递归,坑点就是注意null值的判断,直接看下面代码吧,比较简单。

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;
    }

}
*/
public class Solution {
    public boolean HasSubtree(TreeNode root1,TreeNode root2) {
        if (root2 == null || root1 == null) {
            return false;
        }
        if (root1.val == root2.val) {
            boolean leftSame = false;
            if (root2.left == null) {
                leftSame = true;
            } else {
                leftSame = HasSubtree(root1.left, root2.left);
            }
            boolean rightSame = false;
            if (root2.right == null) {
                rightSame = true;
            } else {
                rightSame = HasSubtree(root1.right, root2.right);
            }
            if (leftSame && rightSame) {
                return true;
            }
        }
        return HasSubtree(root1.left, root2) || HasSubtree(root1.right, root2);
    }     
}
全部评论

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务