OJ 113.경로 총 II

930 단어
제목:
두 갈래 나무와 목표와 뿌리 노드에서 잎 노드까지의 모든 경로를 찾는 것은 목표와 같은 경로입니다.
설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다.
예: 다음과 같은 두 갈래 트리와 목표와sum=22,
5/\4 8//\11 134/\/\7 2 5 1 반환:
[    [5,4,11,2],    [5,8,4,5] ]
 
코드:
class Solution {
public:
	vector> pathSum(TreeNode* root, int sum) {
		vectortmp;
		vector>ans;
		if (!root)return ans;
		if (!root->left && !root->right)
		{
			if (sum == root->val)
			{
				tmp.insert(tmp.end(), sum);
				ans.insert(ans.end(), tmp);
			}
			return ans;
		}
		ans = pathSum(root->left, sum - root->val);
		vector>ans2 = pathSum(root->right, sum - root->val);
		for (int i = 0; i < ans2.size(); i++)
		{
			ans.insert(ans.end(), ans2[i]);
		}
		for (int i = 0; i < ans.size(); i++)
		{
			ans[i].insert(ans[i].begin(), root->val);
		}
		return ans;
	}
};

좋은 웹페이지 즐겨찾기