LeetCode 45 恢復二叉搜尋樹

2021-10-07 22:18:40 字數 838 閱讀 5635

精選30+雲產品,助力企業輕鬆上雲!>>>

恢復二叉搜尋樹

二叉搜尋樹中的兩個節點被錯誤地交換。

請在不改變其結構的情況下,恢復這棵樹。

示例 1:

輸入: [1,3,null,null,2]

1/ 3

\ 2

輸出: [3,1,null,null,2]

3/ 1

\ 2

示例 2:

輸入: [3,1,4,null,null,2]

3 / \

1 4

/2輸出: [2,1,4,null,null,3]

2 / \

1 4/3

高階:二叉搜尋樹的概念:

二叉查詢樹它或者是一棵空樹,或者是具有下列性質的二叉樹:

若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;

class solution 

}//中序遍歷二叉樹,並比較上乙個節點(pre)和當前節點的值,如果pre的值大於當前節點值,則記錄下這兩個節點

private void dfs(treenode node)

dfs(node.left);

if(pre==null)

else

}pre = node;

}dfs(node.right);}}

LeetCode 45 二叉樹的最近公共祖先

題目 給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 示例 1 輸入 root 3 5,1 6,2 0,8 null null,7 4 p 5,q 1輸出 3解釋 節點 5 和節點 1 的最近公共祖先是節點...

從0 001開始Leetcode 恢復二叉搜尋樹

二叉搜尋樹中的兩個節點被錯誤地交換。請在不改變其結構的情況下,恢復這棵樹。示例 1 輸入 1,3,null,null,2 1 32輸出 3,1,null,null,2 3 12使用 o n 空間複雜度的解法很容易實現。你能想出乙個只使用常數空間的解決方案嗎?class solution if f 1...

LeetCode 恢復二叉搜尋樹

二叉搜尋樹中的兩個節點被錯誤地交換。請在不改變其結構的情況下,恢復這棵樹。示例 1 輸入 1,3,null,null,2 1 3 2輸出 3,1,null,null,2 3 1 2示例 2 輸入 3,1,4,null,null,2 3 1 4 2 輸出 2,1,4,null,null,3 2 1 4...