LeetCode 404. 左葉子之和(二叉樹的遍歷)

左葉子之和
爲了知道一個節點是否是父節點的子節點,需在遍歷樹的時候記錄一下。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int ans = 0;
    int sumOfLeftLeaves(TreeNode* root) {
        dfs(nullptr,root);
        return ans;
    }
    void dfs(TreeNode* par,TreeNode* cur){
        if(!cur) return;
        if(!cur->left && !cur->right && par && par->left == cur){
            ans += cur->val;
            return;
        }
        dfs(cur,cur->left);
        dfs(cur,cur->right);

    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章