二叉樹中第二小的節點

2021-10-07 14:22:53 字數 683 閱讀 8450

題目

二叉樹中第二小的節點(力扣:671)

給定乙個非空特殊的二叉樹,每個節點都是正數,並且每個節點的子節點數量只能為 2 或 0。如果乙個節點有兩個子節點的話,那麼該節點的值等於兩個子節點中較小的乙個。

給出這樣的乙個二叉樹,你需要輸出所有節點中的第二小的值。如果第二小的值不存在的話,輸出 -1 。

分析根據題目描述:

最小值一定是根節點。

那麼第二小的值,就是,左、右子樹中,大於根節點的值的較小的那個。

**實現

/**

* 671. 二叉樹中第二小的節點

* @param root

* @return

*/public int findsecondminimumvalue(treenode root)

private int findminvalue(treenode root, int rootval)

if (root.val > rootval)

int l = findminvalue(root.left, rootval);

int r = findminvalue(root.right, rootval);

if (l > rootval && r > rootval)

return math.max(l, r);

}

671 二叉樹中第二小的節點

給定乙個非空特殊的二叉樹,每個節點都是正數,並且每個節點的子節點數量只能為 2 或 0。如果乙個節點有兩個子節點的話,那麼這個節點的值不大於它的子節點的值。給出這樣的乙個二叉樹,你需要輸出所有節點中的第二小的值。如果第二小的值不存在的話,輸出 1 示例 1 輸入 2 2 5 5 7輸出 5 說明 最...

二叉樹 完全二叉樹的節點數

給定一棵完全二叉樹 最後一層所有節點都在最左側,其餘所有層節點數都為2 h 求其節點數。最簡單的方法就是遍歷一遍,把節點數加起來,但時間複雜度太高。以最左邊的路徑長作為二叉樹的高度,對於乙個節點,如果左子樹高度和右子樹高度一樣,說明左子樹為滿二叉樹,此時把其左子樹的節點數計算出來,加入總數,對右子樹...

二叉樹問題 列印二叉樹的邊界節點

問題 給定一棵二叉樹的頭節點,按照如下兩種標準分別實現二叉樹邊界節點的逆時針列印。標準一 1.頭節點為邊界節點 2.葉節點為邊界節點 3.如果節點在其所在層中的最左邊或最右邊,那麼也是邊界節點標準二 1.頭節點為邊界節點 2.葉節點為邊界節點 3.樹左邊界延伸下去的路徑為邊界節點 4.樹右邊界延伸下...