Java版 《判断二叉树是否对称》

判断二叉树是否对称

http://www.nowcoder.com/questionTerminal/1b0b7f371eae4204bc4a7570c84c2de1

代码没什么好解释的,一看就懂的代码~

递归

import java.util.*;

public class Solution {

    public boolean isSymmetric (TreeNode root) {
        if(root == null)
            return true;
        return check(root.left,root.right);
    }

    public boolean check(TreeNode left, TreeNode right){
        if(left == null && right == null)
            return true;
        if(left == null || right == null)
            return false;
        return left.val == right.val && check(left.left,right.right) && check(left.right,right.left);
    }
}

迭代

import java.util.*;
public class Solution {

    public boolean isSymmetric (TreeNode root) {

        if(root == null)
            return true;
        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root.left);
        q.offer(root.right);

        while(!q.isEmpty()){
            TreeNode left = q.poll();
            TreeNode right = q.poll();
            if(left == null && right == null)
                continue;
            if(left == null || right == null)
                return false;
            if(left.val != right.val)
                return false;

            q.offer(left.left);
            q.offer(right.right);
            q.offer(left.right);
            q.offer(right.left);
        }
        return true;
    }


}


全部评论
为什么这么厉害
1 回复 分享
发布于 2021-02-03 20:54
人狠话不多
点赞 回复 分享
发布于 2021-07-19 12:48

相关推荐

不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
评论
30
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务