你需要採用前序遍歷的方式,將乙個二叉樹轉換成乙個由括號和整數組成的字串。
空節點則用一對空括號 「()」 表示。而且你需要省略所有不影響字串與原始二叉樹之間的一對一對映關係的空括號對。
示例 1:
輸入: 二叉樹:[1
,2,3
,4]1
/ \
23/4
輸出:"1(2(4))(3)"
解釋: 原本將是「1(2
(4)(
))(3
())」,在你省略所有不必要的空括號對之後,
它將是「1(2
(4))
(3)」。
思路:
方法一:利用遞迴
/**
* definition for a binary tree node.
* public class treenode
* }*/class
btreestr
string s =
""+t.val;
if(t.left == null && t.right == null)
string left,right;
left =
(t.left == null)
?"()"
:"("
+tree2str
(t.left)
+")"
; right =
(t.right == null)?""
:"("
+tree2str
(t.right)
+")"
;return s+left+right;
}}
方法二:使用了stringbuilder
/**
* definition for a binary tree node.
* public class treenode
* }*/class
solution
public
void
retree2str
(treenode t,stringbuilder sb )}}
}}
根據二叉樹建立字串
你需要採用前序遍歷的方式,將乙個二叉樹轉換成乙個由括號和整數組成的字串。空節點則用一對空括號 表示。而且你需要省略所有不影響字串與原始二叉樹之間的一對一對映關係的空括號對。示例 1 輸入 二叉樹 1,2,3,4 1 23 4輸出 1 2 4 3 解釋 原本將是 1 2 4 3 在你省略所有不必要的空...
演算法 根據二叉樹建立字串
本題 於 606.根據二叉樹建立字串。是乙個easy型別的題,但是卻對我們掌握遞迴思想有很大的幫助。有人說,理解遞迴,首先要理解遞迴。可見遞迴思想並不是那麼直白,需要我們自己去理解。遞迴就是乙個不斷呼叫自身的乙個過程,並且隨著遞迴深度增加,鎖解決的問題越來越小,當滿足遞迴終止條件之後,解決的小問題拼...
LeetCode 根據二叉樹建立字串(遞迴)
你需要採用前序遍歷的方式,將乙個二叉樹轉換成乙個由括號和整數組成的字串。空節點則用一對空括號 表示。而且你需要省略所有不影響字串與原始二叉樹之間的一對一對映關係的空括號對。示例 1 輸入 二叉樹 1,2,3,4 1 2 3 4 輸出 1 2 4 3 解釋 原本將是 1 2 4 3 在你省略所有不必要...