程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> LeetCode 113:Path Sum II

LeetCode 113:Path Sum II

編輯:關於C++

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.

For example:
Given the below binary tree and sum = 22,
              5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1

return

[
   [5,4,11,2],
   [5,8,4,5]
]

Subscribe to see which companies asked this question

 class Solution {
 public:
	 vector> pathSum(TreeNode* root, int sum) {
		 vector> res;
		 vector tmp; //保存中間結果
		 tmpFunction(root, sum, tmp, res);
		 return res;
	 }

	 void tmpFunction(TreeNode* root, int sum, vector &tmp, vector>&res){
		 if (root == NULL) return;
		 tmp.push_back(root->val);
		 if (root->left == NULL && root->right == NULL){
			 if (root->val == sum)
				 res.push_back(tmp);
		 }
		 tmpFunction(root->left, sum - root->val, tmp, res);
		 tmpFunction(root->right, sum - root->val, tmp, res);
		 tmp.pop_back();
	 }
 };
\
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved