二叉搜尋樹

2021-10-09 15:50:17 字數 1168 閱讀 8727

二叉搜尋樹中序遍歷是遞增序列

二叉搜尋樹中序遍歷是遞增序列

二叉搜尋樹中序遍歷是遞增序列

直接上題 leetcode 99. 恢復二叉搜尋樹

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

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

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

直接按照中序遍歷為遞增的特性去判斷:

/**

* definition for a binary tree node.

* public class treenode

* treenode(int val)

* treenode(int val, treenode left, treenode right)

* }*/class solution

private void dfs(treenode r,listl)

else

}l.add(r);

dfs(r.right,l);

}}

另一題 leetcode 538. 把二叉搜尋樹轉換為累加樹

給定乙個二叉搜尋樹(binary search tree),把它轉換成為累加樹(greater tree),使得每個節點的值是原來的節點值加上所有大於它的節點值之和。

例如:

輸入: 原始二叉搜尋樹:

5/   \

2     13

輸出: 轉換為累加樹:

18/   \

20     13

同上:

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

}

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...

二叉搜尋樹 修剪二叉搜尋樹

第一反應是重構,看來別人的解答發現,其實不用重構那麼複雜。treenode trimbst treenode root,int low,int high if root val high 下一層處理完左子樹的結果賦給root left,處理完右子樹的結果賦給root right。root left ...

樹 二叉樹 二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 13輸出 true 示例 2 輸入 5 14 3 6輸出 false 解釋 輸入為 ...