亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

LeetCode -- Path Sum III分析及實現(xiàn)方法

 更新時間:2017年10月25日 14:32:22   投稿:lqh  
這篇文章主要介紹了LeetCode -- Path Sum III分析及實現(xiàn)方法的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下

LeetCode -- Path Sum III分析及實現(xiàn)方法

題目描述:

You are given a binary tree in which each node contains an integer value.


Find the number of paths that sum to a given value.


The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).


The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.


給定一個二叉樹,遍歷過程中收集所有可能路徑的和,找出和等于X的路徑樹。

思路:

設當前節(jié)點為root,分別收集左右節(jié)點路徑和的集合,merge到當前集合中;

將當前節(jié)點添加到數(shù)組中,構成新的可能路徑。

實現(xiàn)代碼:

/** 
 * Definition for a binary tree node. 
 * public class TreeNode { 
 * public int val; 
 * public TreeNode left; 
 * public TreeNode right; 
 * public TreeNode(int x) { val = x; } 
 * } 
 */ 
public class Solution { 
 
 private int _sum; 
 private int _count; 
 public int PathSum(TreeNode root, int sum) 
 { 
 _count = 0; 
 _sum = sum; 
 Travel(root, new List<int>()); 
 return _count; 
 } 
 
 private void Travel(TreeNode current, List<int> ret){ 
 if(current == null){ 
  return ; 
 } 
  
 if(current.val == _sum){ 
  _count ++; 
 } 
  
 var left = new List<int>(); 
 Travel(current.left, left); 
  
 var right = new List<int>(); 
 Travel(current.right, right); 
  
 ret.AddRange(left); 
 ret.AddRange(right); 
  
 for(var i = 0;i < ret.Count; i++){ 
  ret[i] += current.val; 
  if(ret[i] == _sum){ 
  _count ++; 
  } 
 } 
 ret.Add(current.val); 
  
 //Console.WriteLine(ret); 
 } 
} 

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • ssm整合shiro使用詳解

    ssm整合shiro使用詳解

    這篇文章主要介紹了ssm整合shiro使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • AQS同步組件Semaphore信號量案例剖析

    AQS同步組件Semaphore信號量案例剖析

    這篇文章主要為大家介紹了AQS同步組件Semaphore信號量案例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 一篇文章帶你學會Spring?MVC表單標簽

    一篇文章帶你學會Spring?MVC表單標簽

    Spring MVC表單標簽是網(wǎng)頁的可配置和可重復使用的構建塊,下面這篇文章主要給大家介紹了如何通過一篇文章學會Spring?MVC表單標簽的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • java實現(xiàn)釘釘機器人消息推送的示例代碼

    java實現(xiàn)釘釘機器人消息推送的示例代碼

    這篇文章主要介紹了java實現(xiàn)釘釘機器人消息推送的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • SpringFramework應用接入Apollo配置中心過程解析

    SpringFramework應用接入Apollo配置中心過程解析

    這篇文章主要介紹了SpringFramework應用接入Apollo配置中心過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • SpringMVC---配置與使用的示例

    SpringMVC---配置與使用的示例

    這篇文章主要介紹了SpringMVC---配置與使用的示例,幫助大家更好的理解和學習spring框架,感興趣的朋友可以了解下
    2020-10-10
  • SpringBoot原生組件注入實現(xiàn)兩種方式介紹

    SpringBoot原生組件注入實現(xiàn)兩種方式介紹

    SpringBoot是Spring全家桶的成員之一,基于約定優(yōu)于配置的思想(即有約定默認值,在不配置的情況下會使用默認值,在配置文件下配置的話會使用配置的值)。SpringBoot是一種整合Spring技術棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架
    2022-10-10
  • Java線程安全的計數(shù)器簡單實現(xiàn)代碼示例

    Java線程安全的計數(shù)器簡單實現(xiàn)代碼示例

    這篇文章主要介紹了Java線程安全的計數(shù)器簡單實現(xiàn)代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • Java數(shù)據(jù)結構與算法之稀疏數(shù)組與隊列深入理解

    Java數(shù)據(jù)結構與算法之稀疏數(shù)組與隊列深入理解

    這篇文章主要介紹了Java數(shù)據(jù)結構與算法之稀疏數(shù)組與隊列深入理解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • java之構造器的重載問題

    java之構造器的重載問題

    這篇文章主要介紹了java之構造器的重載問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論