leetcode 331驗證二叉樹前序序列化(棧)

2021-10-11 05:58:30 字數 963 閱讀 6424

difficulty:中等

序列化二叉樹的一種方法是使用前序遍歷。當我們遇到乙個非空節點時,我們可以記錄下這個節點的值。如果它是乙個空節點,我們可以使用乙個標記值記錄,例如#

_9_

/ \

3 2

/ \ / \

4 1 # 6

/ \ / \ / \

# # # # # #

例如,上面的二叉樹可以被序列化為字串"9,3,4,#,#,1,#,#,2,#,6,#,#",其中#代表乙個空節點。

給定一串以逗號分隔的序列,驗證它是否是正確的二叉樹的前序序列化。編寫乙個在不重構樹的條件下的可行演算法。

每個以逗號分隔的字元或為乙個整數或為乙個表示null指標的'#'

你可以認為輸入格式總是有效的,例如它永遠不會包含兩個連續的逗號,比如"1,,3"

示例 1:

輸入: "9,3,4,#,#,1,#,#,2,#,6,#,#"

輸出: true

示例 2:

輸入: "1,#"

輸出: false

示例 3:

輸入: "9,#,#,1"

輸出: false

solution

language: ****

class

solution

}return degree==0;

}};

leetcode 331 驗證二叉樹的前序序列化

目錄 一 題目內容 二 解題思路 三 序列化二叉樹的一種方法是使用前序遍歷。當我們遇到乙個非空節點時,我們可以記錄下這個節點的值。如果它是乙個空節點,我們可以使用乙個標記值記錄,例如 9 3 2 4 1 6 例如,上面的二叉樹可以被序列化為字串 9,3,4,1,2,6,其中 代表乙個空節點。給定一串...

Leetcode 331 驗證二叉樹的前序序列化

人千萬不能有惰性,兩天沒寫題解,就不是很想補之前的題解了,但是今天必須糾正這個事情,要開始補題解了。序列化二叉樹的一種方法是使用前序遍歷。當我們遇到乙個非空節點時,我們可以記錄下這個節點的值。如果它是乙個空節點,我們可以使用乙個標記值記錄,例如 9 3 2 4 1 6 例如,上面的二叉樹可以被序列化...

leetcode 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 示例 1 輸入 2 1 3輸出 true 示例 2 輸入 5 1 4 3 6輸出 false解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 需要注意的是,左 右子樹 是指...