例如 str---A(B(D(,G)),C,(E,F))ide
掃描採用括號表示法表示二叉樹的字符串 讀到的符號爲ch字符串
使用一個棧保存雙親結點it
引入一個變量k 做用是指定其後處理的是左孩子仍是右孩子class
k=1 處理左孩子 k=2 處理右孩子變量
狀況以下 二叉樹
遇到一個實實在在的字母時建立一個節點di
1 遇到 ch=左括號 將前面建立的結點做爲父節點進棧,置k=1,表示其後的結點將做爲這個節點的左孩子view
2 遇到 ch=逗號 表示其後面建立的結點爲右孩子結點(結點指的是實實在在的字母 不然無效)置k=2vi
3遇到 ch=右括號 表示棧中結點的左右孩子處理完畢,退一次棧co
可是建立過程要以始終棧頂元素爲父結點