我的問題與我發現的結果有點不同,並且我在相當長一段時間(新手)中沒有使用過Java,所以我需要一些說明。從字符串反序列化Java二進制樹
基本上,我很確定我的實現大部分是正確的,我只是想給我一些背後的故事,我正在做什麼。
所以,我的真正的問題是,我已經序列化二叉樹爲字符串:
1
2 3
4 5
爲:
1 2 4 # # 5 # # 3 # #
其中#只是空節點。
我試圖從字符串重建它時出現問題。我已經做了幾個小時的挖掘工作,但我認爲我已經過分了。我只需要知道讀取字符串的最簡單方式(用空格分隔):
第一個元素是1,因此我們將其更改爲int並將其作爲元素創建一個節點。接下來是2,所以相同,然後4.接下來是一個#,所以我們忽略,因爲沒有葉等
然後,我需要發送字符串的其餘部分(減去什麼已經從前面讀取)轉換爲遞歸調用。
總之,我的問題基本上是「按照描述解析它,最簡單的方法是什麼,並將剩餘的字符串發送到遞歸調用?」
現有的語法是明確的。它基本上是一個預先序列深度優先遍歷,每遇到一個空值就輸出'#'。 –
@StephenC是的,如果你有一個指定的遍歷順序,那麼沒有歧義。 –