本文共 658 字,大约阅读时间需要 2 分钟。
递归,辅助递归函数check() ,传入两个参数一个原始结点,另一个镜像结点。
最小问题是镜像的判断,结点的左子节点 == 镜像过后的左子节点(即原来的右子结点),同理右子结点。。。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isSymmetric(TreeNode root) { return check(root,root); } boolean check(TreeNode q,TreeNode p){ if(q == null && p == null){ return true; } if(q == null || p == null){ return false; } return q.val == p.val && check(q.left, p.right) && check(q.right, p.left); }}
这次状态不好。。。
转载地址:http://spozi.baihongyu.com/