二叉樹 113 路徑總和 II

2022-10-10 16:36:11 字數 695 閱讀 5765

前序遍歷+回溯

**參考:

class solution 

void dfs( treenode* root, vector> &ans, vector& cur,int &targetsum )

targetsum -= root->val;//別寫成了+= 淚目

cur.push_back(root->val);//對節點的處理寫在前面是為了下面判斷條件統一,不過這樣有乙個後果:因為回溯演算法有加入必須有退出,所以再cur呼叫pop之前不能return!

if( targetsum == 0 && root ->left==nullptr && root -> right == nullptr)

dfs( root->left, ans, cur, targetsum );

dfs( root->right, ans, cur, targetsum );

targetsum +=root->val;//這裡,前序遍歷,兩個遞迴後面寫乙個回溯就夠了

113 路徑總和 II dfs 二叉樹

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,回憶dfs是怎麼用的,若有兩次dfs,應該在第一次之前加路徑點,在第二次之後減路徑點。definition for a binary...

113 路徑總和 II

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,4 8 11 13 4 7 2 5 1 返回 5,4,11,2 5,8,4,5 definition for a binary tr...

113 路徑總和 II

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,definition for a binary tree node.class treenode object def init s...