題目描述
給定一個二叉樹,回傳所有從根節點到葉子節點的路徑,
說明: 葉子節點是指沒有子節點的節點,
題目分析
即從根節點回傳到每一個葉子節點的路徑,很容易可以想到解題思路:
- 遍歷樹
- 到葉子節點記錄回傳

代碼實作
public List<String> binaryTreePaths(TreeNode root) {
List<String> result = new ArrayList<>();
path(result,"",root);
return result;
}
public void path(List<String> result,String item, TreeNode root){
if(root==null){
return;
}
if (!"".equals(item)){
item+="->"+root.val;
}
else{
item += String.valueOf(root.val);
}
path(result, item, root.left);
path(result, item, root.right);
//到葉子節點則回傳
if (root.left==null&&root.right==null) {
result.add(item);
}
}
小結
- 遍歷方式,按深度遍歷,方便記錄路線,
- 判斷葉子節點,左右子樹都為空
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/266686.html
標籤:其他
上一篇:HTML基礎——2
下一篇:防抖和節流
