摘要:題目要求從樹中找到所有符合條件的從根節點到葉節點路徑,條件即為樹上所有節點值的和等于目標值??梢詤⒖歼@篇博客思路和代碼其實這里本質上的思路并沒有改變,還是采用深度優先算法,采用自頂向下遞歸的方式將符合條件的結果放入結果集中。
題目要求
Given a binary tree and a sum, find all root-to-leaf paths where each path"s sum equals the given sum. For example: Given the below binary tree and sum = 22, 5 / 4 8 / / 11 13 4 / / 7 2 5 1 return [ [5,4,11,2], [5,8,4,5] ]
從樹中找到所有符合條件的從根節點到葉節點路徑,條件即為樹上所有節點值的和等于目標值。
Path Sum I可以參考這篇博客
其實這里本質上的思路并沒有改變,還是采用深度優先算法,采用自頂向下遞歸的方式將符合條件的結果放入結果集中。
public List> pathSum(TreeNode root, int sum) { List
> result = new ArrayList
>(); pathSum(root, sum, new ArrayList
(), result); return result; } public void pathSum(TreeNode root, int sum, List path, List > result){ if(root==null) return; sum -= root.val; if(isLeaf(root) && sum==0){ path.add(root.val); result.add(new ArrayList
(path)); path.remove(path.size()-1); return; } path.add(root.val); pathSum(root.left, sum, path, result); pathSum(root.right, sum, path, result); path.remove(path.size()-1); } private boolean isLeaf(TreeNode node){ return node!=null && node.left==null && node.right==null; }
想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67384.html
摘要: 112. Path Sum Problem Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. Note: A leaf is a node...
摘要:解題思路利用遞歸,對于每個根節點,只要左子樹和右子樹中有一個滿足,就返回每次訪問一個節點,就將該節點的作為新的進行下一層的判斷。代碼解題思路本題的不同點是可以不從開始,不到結束。代碼當前節點開始當前節點左節點開始當前節點右節點開始 Path SumGiven a binary tree and a sum, determine if the tree has a root-to-lea...
摘要:只要我們能夠有一個以某一中間路徑和為的哈希表,就可以隨時判斷某一節點能否和之前路徑相加成為目標值。 最新更新請見:https://yanjia.me/zh/2019/01/... Path Sum I Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addin...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
摘要:在線網站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學習。 這篇文章記錄我練習的 LeetCode 題目,語言 JavaScript。 在線網站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
閱讀 3216·2021-11-23 09:51
閱讀 3558·2021-11-09 09:46
閱讀 3655·2021-11-09 09:45
閱讀 2938·2019-08-29 17:31
閱讀 1860·2019-08-26 13:39
閱讀 2715·2019-08-26 12:12
閱讀 3614·2019-08-26 12:08
閱讀 2235·2019-08-26 11:31