題目描述
請實現一個函數,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其為對稱的。
算法解析: 最簡潔的想法是按照遞歸的方式將整個二叉樹鏡像比較。
代碼如下:
boolean isSymmetrical(TreeNode PRoot) { return isSymmetrical(pRoot, pRoot); } boolean isSymmetrical(TreeNode pRoot1, TreeNode pRoot2) { if (pRoot1 == null && pRoot2 == null){ return true; } if (pRoot1 == null || pRoot2 == null){ return false; } if (pRoot1.val != pRoot2.val){ return false; } return isSymmetrical(pRoot1.left, pRoot2.right) && isSymmetrical(pRoot1.right, pRoot2.left); }新聞熱點
疑難解答