leetcode_113. 경로 총 II

5076 단어
두 갈래 나무와 목표와 뿌리 노드에서 잎 노드까지의 모든 경로를 찾는 것은 목표와 같은 경로입니다.
설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다.
예: 다음과 같은 두 갈래 트리와 목표와sum=22,
          5
         / \
        4   8
       /   / \
      11  13  4
     /  \    / \
    7    2  5   1

반환:
[ [5,4,11,2], [5,8,4,5] ]
해석: 본 문제는 모든 가능성을 열거해야 한다.소급법을 쓰다.사고방식은 112문제와 같다
class Solution {
public:
    vector<vector<int>> res;
    vector<int> tmp;
    vector<vector<int>> pathSum(TreeNode* root, int sum) {
        helper(root,sum);
        return res;
    }
    void helper(TreeNode* cur,int sum){
        if(!cur) return;
        tmp.push_back(cur->val);
        if(!cur->left&&!cur->right&&sum==cur->val) res.push_back(tmp);
        if(cur->left) helper(cur->left,sum-cur->val);
        if(cur->right) helper(cur->right,sum-cur->val);
        tmp.pop_back();
    }
};

좋은 웹페이지 즐겨찾기