自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊每日算法之路徑總和

開發(fā) 前端 算法
給定一個二叉樹和一個目標和,判斷該樹中是否存在根節(jié)點到葉子節(jié)點的路徑,這條路徑上所有節(jié)點值相加等于目標和。

[[426794]]

本文轉(zhuǎn)載自微信公眾號「三分鐘學前端」,作者sisterAn。轉(zhuǎn)載本文請聯(lián)系三分鐘學前端公眾號。

關(guān)于樹基礎(chǔ)看這里:適合初學者的樹

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節(jié)點到葉子節(jié)點的路徑,這條路徑上所有節(jié)點值相加等于目標和。

說明: 葉子節(jié)點是指沒有子節(jié)點的節(jié)點。

示例: 給定如下二叉樹,以及目標和 sum = 22 ,

  1.    5 
  2.      / \ 
  3.     4   8 
  4.    /   / \ 
  5.   11  13  4 
  6.  /  \      \ 
  7. 7    2      1 

返回 true , 因為存在目標和為 22 的根節(jié)點到葉子節(jié)點的路徑 5->4->11->2。

解題思路:

只需要遍歷整棵樹

如果當前節(jié)點不是葉子節(jié)點,遞歸它的所有子節(jié)點,傳遞的參數(shù)就是 sum 減去當前的節(jié)點值;

如果當前節(jié)點是葉子節(jié)點,判斷參數(shù) sum 是否等于當前節(jié)點值,如果相等就返回 true,否則返回 false。

代碼實現(xiàn):

  1. var hasPathSum = function(root, sum) { 
  2.   // 根節(jié)點為空 
  3.   if (root === nullreturn false
  4.    
  5.   // 葉節(jié)點 同時 sum 參數(shù)等于葉節(jié)點值 
  6.   if (root.left === null && root.right === nullreturn root.val === sum
  7.  
  8.   // 總和減去當前值,并遞歸 
  9.   sum = sum - root.val 
  10.   return hasPathSum(root.leftsum) || hasPathSum(root.rightsum); 
  11. }; 

解題思路:

只需要遍歷整棵樹

  • 如果當前節(jié)點不是葉子節(jié)點,遞歸它的所有子節(jié)點,傳遞的參數(shù)就是 sum 減去當前的節(jié)點值;
  • 如果當前節(jié)點是葉子節(jié)點,判斷參數(shù) sum 是否等于當前節(jié)點值,如果相等就返回 true,否則返回 false。

代碼實現(xiàn):

  1. var hasPathSum = function(root, sum) { 
  2.   // 根節(jié)點為空 
  3.   if (root === nullreturn false
  4.    
  5.   // 葉節(jié)點 同時 sum 參數(shù)等于葉節(jié)點值 
  6.   if (root.left === null && root.right === nullreturn root.val === sum
  7.  
  8.   // 總和減去當前值,并遞歸 
  9.   sum = sum - root.val 
  10.   return hasPathSum(root.leftsum) || hasPathSum(root.rightsum); 
  11. }; 

 

leetcode:https://leetcode-cn.com/problems/path-sum/solution/javascript-lu-jing-zong-he-by-user7746o/

 

責任編輯:武曉燕 來源: 三分鐘學前端
相關(guān)推薦

2018-03-27 10:06:26

對象存儲演進

2023-04-28 08:06:04

低代碼AI智能

2021-10-29 07:25:32

螺旋矩陣整數(shù)

2021-09-03 23:01:58

CSS 技巧代碼重構(gòu)

2021-11-19 07:54:40

前端

2021-11-12 09:44:03

字符串算法復雜度

2021-08-30 14:34:10

有效算法字符

2021-10-28 19:33:36

矩陣圖像內(nèi)存

2022-01-04 11:31:15

不同路徑DP

2022-06-17 07:49:14

緩存LRU

2022-02-18 08:26:12

TopK數(shù)組面試題

2021-11-12 09:30:46

滑動窗口算法

2021-09-03 09:41:36

字符串時間復雜度

2021-11-04 09:59:03

動態(tài)規(guī)劃策略

2020-02-19 19:18:02

緩存查詢速度淘汰算法

2023-05-30 07:58:01

谷歌搜索算法

2023-11-28 09:19:12

2023-10-09 07:11:03

排序算法序列

2022-06-28 15:13:12

Vuediff 算法

2021-10-26 00:23:26

算法高頻元素
點贊
收藏

51CTO技術(shù)棧公眾號