1、题目描述
2、问题分析
记录所有路径上的值,然后转换为int求和。
3、代码
1 vector<string> s; 2 int sumNumbers(TreeNode* root) { 3 traverse(root, ""); 4 int sum = 0; 5 for(auto it = s.begin(); it != s.end(); it++) { 6 sum += stoi(*it); 7 } 8 9 return sum; 10 } 11 12 void traverse(TreeNode *t, string str) 13 { 14 if (t == NULL) 15 return ; 16 if (t->left == NULL && t->right == NULL) { 17 str += to_string(t->val); 18 s.push_back(str); 19 return ; 20 } else { 21 str += to_string(t->val); 22 traverse(t->left, str); 23 traverse(t->right, str); 24 } 25 26 }