題目:404. 左葉子之和
思路
前序遍歷(隨便怎么遍歷);
在遇到左葉子時處理數據,選擇中、左、右
里面的左
的時候再判斷這個節點是不是葉子;
代碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int result = 0;void travel(TreeNode* cur){if(cur == NULL){return;}// 中// 左if(cur->left){TreeNode* left_temp = cur->left;if(left_temp->left == NULL && left_temp->right == NULL){result += left_temp->val;}travel(cur->left);}// 右if(cur->right){travel(cur->right);}}int sumOfLeftLeaves(TreeNode* root) {if(root == NULL){return 0;}travel(root);return result;}
};