題目描述:
給你二叉樹的根節點 root 和乙個表示目標和的整數 targetsum ,判斷該樹中是否存在 根節點到葉子節點 的路徑,這條路徑上所有節點值相加等於目標和 targetsum 。
葉子節點 是指沒有子節點的節點。
題解:採用dfs遍歷路徑,使用遞迴方式。遞迴函式的引數和返回值的確定:如果需要搜尋整顆二叉樹,那麼遞迴函式就不要返回值,如果要搜尋其中一條符合條件的路徑,遞迴函式就需要返回值,因為遇到符合條件的路徑了就要及時返回。
題解:
/**
* definition for a binary tree node.
* struct treenode
* treenode(int x) : val(x), left(nullptr), right(nullptr) {}
* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}
* };
*/class solution
if(node->right)
return false;
}bool haspathsum(treenode* root, int targetsum)
};
題目描述:
演算法題 路徑總和
題目描述 給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1 返回 true,因為存在目標和為 22 的根節點到葉子節點的...
Leetcode刷題(437 路徑總和 III)
給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 root 10,5,3,3,2...
LeetCode 刷題 樹(二)樹的路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 4...