請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。
例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。
示例 1:輸入:root = [1,2,2,3,4,4,3]
輸出:true
示例 2:
輸入:root = [1,2,2,null,3,null,3]
輸出:false
/**
* definition for a binary tree node.
* public class treenode
* }*/class
solution
return
issame
(root.left,root.right);}
private
boolean
issame
(treenode root1,treenode root2)
//一棵空一棵非空
if(root1==null||root2==null)
return root1.val==root2.val&&
issame
(root1.left,root2.right)
&&issame
(root2.left,root1.right);}
}
時間複雜度o(n)n個節點均要遍歷空間複雜度o(n):最差情況下,二叉樹退化為鍊錶,系統使用 o(n)o(n) 大小的棧空間。
27 二叉樹映象28 對稱二叉樹
解題思路 這裡還是貼下大佬的解答。遞迴這方面我做的不夠好,看週末能不能整理個遞迴的合集。在這裡插入 片 class solution def issymmetric self,root treenode bool def recur l,r if not l and not r return tru...
28 對稱的二叉樹 待優化
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路1 前序遍歷順序為根 左 右。定義乙個對稱的前序遍歷演算法,順序為根 右 左。如果兩次遍歷後的序列是相同的,那麼認為是對稱的,如果是不同的,那麼就是不對稱的。注意特殊情況,如二叉樹的所有...
面試題28 對稱二叉樹
題目 請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。方法 遞迴 root1 的左子樹和 root2 的右子樹比較,root1 的右子樹和 root2 的左子樹比較,遞迴下去直到 root1 和 roo...