25 路徑總和

2021-08-31 03:57:08 字數 762 閱讀 7157

題目描述

我的思路:首先檢視的是根節點,然後用num-根節點的值,並且要考慮到節點是否為空

需要注意的是這裡的遞迴要注意,二叉樹基本都是遞迴來實現

//再一次使用遞迴

public static boolean haspathsum(treenode root, int sum) else

return haspathsum(root.left, i)||haspathsum(root.right, i);}}

排名比較高的**,我感覺思路都差不多,為什麼時間能差這麼多???

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

return decide(root,sum);

}public boolean decide(treenode root, int sum)

if(root.left==null&&root.right==null&&root.val==sum)

return decide(root.left,sum-root.val)|| decide(root.right,sum-root.val);}}

112 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。d...

112 113 路徑總和

遞迴,終止條件為當左節點為空 右為空且sum減去當前節點的值為0是,才返回true 和112題類似,只不過在dfs時要記錄每乙個路徑 class solution object def pathsum self,root,sum res if not root return def helper r...

113 路徑總和

難度 中等 題目描述 思路總結 這題看到以後,就是和上一題做法一樣,只要每次都記錄val值就好了。但是做的時候才發現遞迴方法每次返回的path陣列,會更新當前的路徑陣列,所以左右每次遞迴需要傳進去當前path陣列的copy。題解一 definition for a binary tree node....