LeetCode:101. 对称二叉树
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录
LeetCode:101. 对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
类似后序遍历,按照左右中的顺序依次比较
public boolean isSymmetric(TreeNode root) {if (root == null)return true;return compare(root.left, root.right);}private boolean compare(TreeNode left, TreeNode right) {if (left == null && right != null)return false;else if (left != null && right == null)return false;else if (left == null && right == null)return true;else if (left != null && right != null && left.val != right.val)return false;else {boolean flag1 = compare(left.left, right.right);boolean flag2 = compare(left.right, right.left);return flag1 && flag2;}}