演算法練習 二叉搜尋樹結點最小距離

2021-10-03 00:06:40 字數 683 閱讀 9199

題目:

給定乙個二叉搜尋樹的根結點root, 返回樹中任意兩節點的差的最小值。

輸入: root = [4,2,6,1,3,null,null]

輸出: 1

解釋:注意,root是樹結點物件(treenode object),而不是陣列。

給定的樹 [4,2,6,1,3,null,null] 可表示為下圖:

4/   \

2      6

/ \    

1   3  

最小的差值是 1, 它是節點1和節點2的差值, 也是節點3和節點2的差值。

個人思路:

可以用乙個列表將每個值存起來,然後進行排序,之後兩兩求差,找到最小的(適用於二叉樹),因為題目是二叉搜尋樹,中序遍歷會將樹中節點按數值大小順序輸出。

**:

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution else

}}

個人筆記:

集合型別的排序函式:collections.sort();

二叉搜尋樹結點最小距離

給定乙個二叉搜尋樹的根結點 root,返回樹中任意兩節點的差的最小值。示例 輸入 root 4,2,6,1,3,null,null 輸出 1 解釋 注意,root是樹結點物件 treenode object 而不是陣列。給定的樹 4,2,6,1,3,null,null 可表示為下圖 4 2 6 1 ...

leetcode 練習二叉搜尋樹的最小絕對差

給你一棵所有節點為非負值的二叉搜尋樹,請你計算樹中任意兩節點的差的絕對值的最小值。示例 輸入 13 2輸出 1 解釋 最小絕對差為 1,其中 2 和 1 的差的絕對值為 1 或者 2 和 3 class solution def getminimumdifference self,root tree...

二叉樹結點的最大距離

二叉樹結點中的最大距離 struct node int nmaxlen 0 尋找樹中最長的兩段距離 void findmaxlen node proot if proot pleft null if proot pright null if proot pleft null if proot pri...