zoukankan      html  css  js  c++  java
  • 101. 对称二叉树

     方法一:递归

    class Solution {
        public boolean isSymmetric(TreeNode root) {
            if(root == null) return true;
            return isSame(root.left,root.right);
        }
    
        public boolean isSame(TreeNode l, TreeNode r) {
            if(l == null && r == null) return true;
            if(l == null || r == null) return false;
            if(l.val != r.val) return false;
            return isSame(l.left,r.right) && isSame(l.right,r.left);
        }
    
    }

    方法二:迭代

    class Solution {
        public boolean isSymmetric(TreeNode root) {
            if (root == null) {
                return true;
            }
       
            Queue<TreeNode> queue = new LinkedList<>();
            queue.offer(root.left);
            queue.offer(root.right);
    
            while (!queue.isEmpty()) {
                TreeNode node1 = queue.poll();
                TreeNode node2 = queue.poll();
                if (node1 == null && node2 == null) {
                    continue;
                }
                if (node1 == null || node2 == null || node1.val != node2.val) {
                    return false;
                }
                queue.offer(node1.left);
                queue.offer(node2.right);
                queue.offer(node1.right);
                queue.offer(node2.left);
            }
    
            return true;
        }
    }
  • 相关阅读:
    第七组(69)团队展示
    结对编程作业
    同步异步和阻塞非阻塞
    TCP和UDP和IP和HTTP和socket
    http协议
    数据库基础知识
    准确的笑话
    Java实现多线程的方式
    HashMap
    HTTPS与HTTP
  • 原文地址:https://www.cnblogs.com/yonezu/p/13278302.html
Copyright © 2011-2022 走看看