1. 程式人生 > >牛客網刷題之對稱的二叉樹

牛客網刷題之對稱的二叉樹

題目描述:

這裡寫圖片描述

解題思路:

首先判斷根節點是否為空,如果不為空,先判斷左右子樹,然後遞迴左子樹的左子樹和右子樹的右子樹,左子樹的右子樹和右子樹的左子樹即可。

題解:

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); }

ac結果:

這裡寫圖片描述