題目: LeetCode - 404. Sum of Left Leaves

題目說明

給一個 Tree,找到所有位於左邊的葉子的總和。

解題思路

判斷當前 node 的左邊 node 是否符合 !root->left->left && !root->left->right 若符合代表 root->left 為左邊的葉子,依此想法使用遞迴即可。

參考解法

1
2
3
4
5
6
7
8
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(!root) return 0;
if(root->left && !root->left->left && !root->left->right) return root->left->val + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
}
};