精選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...