牛客網刷題之對稱的二叉樹
阿新 • • 發佈:2019-02-05
題目描述:
解題思路:
首先判斷根節點是否為空,如果不為空,先判斷左右子樹,然後遞迴左子樹的左子樹和右子樹的右子樹,左子樹的右子樹和右子樹的左子樹即可。
題解:
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot == null){
return true;
}
return nodeIsSymmetrical(pRoot.left , pRoot.right);
}
private boolean nodeIsSymmetrical(TreeNode left , TreeNode right) {
if(left == null){
return right == null;
}
if(right == null){
return false;
}
if(left.val != right.val){
return false;
}
return nodeIsSymmetrical(left.left , right.right) && nodeIsSymmetrical(left .right , right.left);
}