【LeetCode笔记】101. 对称二叉树(Java、回溯)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】101. 对称二叉树(Java、回溯)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 代碼 & 思路
題目描述
- 回溯,由最小子樹的鏡像,得到次小子樹的鏡像判斷,一直回溯到根結點即可
代碼 & 思路
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/ class Solution {public boolean isSymmetric(TreeNode root) {// 從root開始,進行左右子樹的鏡像判斷return isMirror(root,root);}boolean isMirror(TreeNode left, TreeNode right){// 同時為空,鏡像回trueif(left == null && right == null){return true;}// 單個為空,非鏡像回falseif(left == null || right == null){return false;}// 分別對當前值、當前兩值的左右子樹進行判斷。return (left.val == right.val) && (isMirror(right.right,left.left)) && (isMirror(right.left,left.right));} } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【LeetCode笔记】101. 对称二叉树(Java、回溯)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识补充】对称加密、非对称加密、数字签
- 下一篇: 【LeetCode笔记】剑指 Offer