題目描述
一棵二叉樹原本是搜尋二叉樹,但是其中有兩個節點調換了位置,使得這棵二叉樹不再是搜尋二叉樹,請按公升序輸出這兩個錯誤節點的值。(每個節點的值各不相同)
示例1輸入
返回值[1,2]備註:
1 \leq n \leq 5 \times 10^51≤n≤5×105說明:本題目包含複雜資料結構treenode,點此檢視相關資訊
python**:
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none##
# @param root treenode類 the root
# @return int整型一維陣列
#class solution:
def finderror(self , root ):
# write code here
if not root:
return
res =
stack =
while stack or root:
while root:
root = root.left
root = stack.pop()
root = root.right
ans =
for i in range(len(res)-2, -1, -1):
if res[i] > res[i+1]:
break
for i in range(1, len(res)):
if res[i] < res[i-1]:
break
return ans
找到搜尋二叉樹中兩個錯誤的節點
找到搜尋二叉樹中兩個錯誤的節點 一棵二叉樹原本是搜尋二叉樹,但是其中有兩個節點調換了位置,使得這棵二叉樹不再是搜尋二叉樹,請按公升序輸出這兩個錯誤節點的值。每個節點的值各不相同 輸入描述 第一行輸入兩個整數 n 和 root,n 表示二叉樹的總節點個數,root 表示二叉樹的根節點。以下 n 行每行...
找到二叉樹中的最大搜尋二叉樹
題目 給定一顆二叉樹,已知其中所有節點的值都不一樣,找到含有節點最多的二叉搜尋樹,並返回頭節點。注 乙個二叉樹的子樹的葉節點必須是該二叉樹的葉節點。解答 1.後續遍歷 2.每次記錄下最小值,最大值,節總數。如果root左右節點符合,則總數相加後,返回此根節點 否則返回左右節點中節點數最多的節點。輸入...
牛客刷題二叉樹之對稱二叉樹
請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。用兩種方式,遞迴和非遞迴 一 遞迴方式 struct treenode class solution bool issymmetricalcore treenode left,treenod...