101 对称二叉树
题目:判断一颗二叉树是否对称
示例:
思考:
- 递归方式简单
- 两个指针遍历左右子树,对称的要求是左 对应 右 且 值相同,以此类推
public class Solution {
/**
* 验证二叉树是否对称
*/
public boolean isSymmetric(TreeNode root) {
return process(root.left, root.right);
}
private boolean process(TreeNode p, TreeNode q) {
if (p == null && q == null) {
return true;
}
if (p == null || q == null) {
return false;
}
return p.val == q.val && process(p.left, q.right) && process(p.right, q.left);
}
}