牛客題霸 找到搜尋二叉樹中兩個錯誤的節點

2021-10-22 01:13:40 字數 980 閱讀 4065

題目描述

一棵二叉樹原本是搜尋二叉樹,但是其中有兩個節點調換了位置,使得這棵二叉樹不再是搜尋二叉樹,請按公升序輸出這兩個錯誤節點的值。(每個節點的值各不相同)

示例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...