zoukankan      html  css  js  c++  java
  • 判断两个二叉树是否相等

    题目:判断两个二叉树是否相等

    思路:递归与迭代

    递归:

    public static boolean isSameRec(TreeNode root1,TreeNode root2){
            if(root1 == null && root2 == null){
                return true;
            }else if(root1 == null || root2 == null){
                return false;
            }else if(root1.val != root2.val){
                return false;
            }
            
            boolean left = isSameRec(root1.left,root2.left);
            boolean right = isSameRec(root1.right,root2.right);
            return left&right;
        }

    迭代:迭代要注意,借助了两个辅助栈,要注意的是,若某一节点的左孩子或右孩子为null,也要添加到栈中。

    public static boolean isSameTree(TreeNode root1,TreeNode root2){
            if(root1 == null && root2 == null){
                return true;
            }else if(root1 == null || root2 == null){
                return false;
            }else if(root1.val != root2.val){
                return false;
            }
            
            Stack<TreeNode> stack1 = new Stack<TreeNode>();
            Stack<TreeNode> stack2 = new Stack<TreeNode>();
            stack1.push(root1);
            stack2.push(root2);
            
            while(!stack1.isEmpty() && !stack2.isEmpty()){
                TreeNode n1 = stack1.pop();
                TreeNode n2 = stack2.pop();
                if(n1 == null && n2 == null){
                    continue;
                }
                else if(n1 != null && n2 != null && n1.val == n2.val){
                    stack1.push(n1.left);
                    stack1.push(n1.right);
                    stack2.push(n2.left);
                    stack2.push(n2.right);
                }else {
                    return false;
                }
            }
            
            return true;
        }
  • 相关阅读:
    背水一战 Windows 10 (61)
    背水一战 Windows 10 (60)
    背水一战 Windows 10 (59)
    背水一战 Windows 10 (58)
    背水一战 Windows 10 (57)
    背水一战 Windows 10 (56)
    背水一战 Windows 10 (55)
    背水一战 Windows 10 (54)
    背水一战 Windows 10 (53)
    背水一战 Windows 10 (52)
  • 原文地址:https://www.cnblogs.com/lfdingye/p/7365479.html
Copyright © 2011-2022 走看看