given a binary tree, return all root-to-leaf paths.
for example, given the following binary tree:
1 / \
2 3
\ 5
all root-to-leaf paths are:
[「1->2->5」, 「1->3」]
題目要我們輸出從根節點到葉子節點所有的路徑,和path sum 這類題目相比更加簡單。只是需要處理字串列印格式即可。
public class solution
void linkroottoleaf(treenode root,list
<
string
>
list,stack
<
integer
> path)
list
.add(sb.tostring());
}linkroottoleaf(root.left,list,path);
linkroottoleaf(root.right,list,path);
//從路徑中移除這個結點
path.pop();
}}
java演算法系列
棧的概念 棧是一種特殊的線性表,堆疊的資料元素以及資料元素之間的關係和線性表是完全一樣的。差別是線性表是在任意位置進行插入和刪除操作,棧是只允許在固定的一端進行插入和刪除,棧的插入和刪除只允許在棧頂,棧的插入和刪除通常稱為進棧和出棧。資料集合 每個資料元素的資料型別可以是任意的型別 操作的集合 進棧...
演算法系列 Move Zeroes
given an array nums,write a function to move all 0 s to the end of it while maintaining the relative order of the non zero elements.for example,given ...
演算法系列 Missing Number
given an array containing n distinct numbers taken from 0,1,2,n,find the one that is missing from the array.for example,given nums 0,1,3 return 2.note...