leetcode-101 对称二叉树
与100题类似,可看做p,q两棵树的左右子树互相对比,注意判空。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
private boolean flag = true;
public void checkSymmetric(TreeNode p, TreeNode q){
if (p == null && q == null) return;
if (p == null || q == null){
flag = false;
return;
}
if (p.val != q.val){
flag = false;
return;
}
checkSymmetric(p.left, q.right);
checkSymmetric(p.right, q.left);
}
public boolean isSymmetric(TreeNode root) {
checkSymmetric(root, root);
return flag;
}
}
本文介绍了一种判断二叉树是否对称的方法。通过递归比较二叉树的左子树与右子树来实现。重点在于如何正确处理空节点的情况,并确保两个子树结构互为镜像。
950

被折叠的 条评论
为什么被折叠?



