216.组合总和III
思路:
很像上一个组合类型的题目,唯一不同的就是自己写一个sum
代码:
1 void convertBST_cur(TreeNode* root, vector<TreeNode*>& nodes) 2 { 3 if (!root) return ; 4 if (root->left) convertBST_cur(root->left, nodes); 5 nodes.push_back(root); 6 if (root->right) convertBST_cur(root->right, nodes); 7 } 8 TreeNode* convertBST(TreeNode* root) { 9 if (!root) return nullptr; 10 11 stack<TreeNode*> selected; 12 selected.push(root); 13 vector<TreeNode*> nodes; 14 convertBST_cur(root, nodes); 15 16 //如果更改它们的值,那么就会导致链接出现了问题 17 for (int i = nodes.size() - 2; i >= 0; i--) 18 { 19 nodes[i]->val += nodes[i + 1]->val; 20 } 21 22 return root; 23 }
标签:216,convertBST,return,cur,随想录,字母组合,nodes,root From: https://www.cnblogs.com/smartisn/p/17518885.html