[leetcode] 101. 对称二叉树
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 101. 对称二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
101. 對稱二叉樹
一開始想復雜了呀,沒有做出來
直觀的思路就是反轉這顆樹,然后判斷兩顆樹是不是相同的
class Solution {// 反轉并創建一顆樹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);} }網上大部分人的思路更為簡潔,一開始沒有想到。
即,判斷左子樹和右子樹是否對稱:
(畫畫圖就看出來了)
利用了二叉樹的特性把
轉載于:https://www.cnblogs.com/acbingo/p/9916414.html
總結
以上是生活随笔為你收集整理的[leetcode] 101. 对称二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金腰和金枕榴莲有什么区别吗
- 下一篇: Charles使用1