日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[leetcode] 101. 对称二叉树

發(fā)布時間:2024/10/12 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [leetcode] 101. 对称二叉树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

101. 對稱二叉樹

一開始想復(fù)雜了呀,沒有做出來

直觀的思路就是反轉(zhuǎn)這顆樹,然后判斷兩顆樹是不是相同的

class Solution {// 反轉(zhuǎn)并創(chuàng)建一顆樹public TreeNode reverseTreeNode(TreeNode root) {if (null == root) return null;TreeNode tmp = new TreeNode(root.val);tmp.left = reverseTreeNode(root.right);tmp.right = reverseTreeNode(root.left);return tmp;}public boolean isSame(TreeNode t1, TreeNode t2) {if (t1 == null && t2 == null) return true;if (t1 == null || t2 == null) return false;if (t1.val != t2.val) return false;else return isSame(t1.left,t2.left) && isSame(t1.right,t2.right);}public boolean isSymmetric(TreeNode root) {if (null == root) return true;TreeNode newTree = reverseTreeNode(root);return isSame(newTree,root);} }

網(wǎng)上大部分人的思路更為簡潔,一開始沒有想到。
即,判斷左子樹和右子樹是否對稱:

  • 當(dāng)前左右值是否相同
  • 當(dāng)前左子樹的左子樹和右子樹的右子樹是否相同
  • 當(dāng)前左子樹的右子樹和右子樹的左子樹是否相同
    (畫畫圖就看出來了)
    利用了二叉樹的特性把
  • public class Solution {public boolean isSymmetric(TreeNode root) {if(root == null) return true;return isSymmetric(root.left, root.right);}public static boolean isSymmetric(TreeNode left, TreeNode right) {if(left == null && right == null) return true;if(left == null || right == null) return false;if(left.val == right.val) return isSymmetric(left.left, right.right)&& isSymmetric(left.right, right.left);return false;} }

    轉(zhuǎn)載于:https://www.cnblogs.com/acbingo/p/9916414.html

    總結(jié)

    以上是生活随笔為你收集整理的[leetcode] 101. 对称二叉树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。