leet-129-sum-root-to-leaf-numbers
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int result;
// leaf노드까지 움직이며, 도달할 경우 string 완성
// string 완성될 경우, str -> int해서 sum에 계속 누적
void moveNode(TreeNode* node, string num) {
// basecase
if(node == NULL) {
return;
}
if(node->left == NULL && node->right == NULL) {
char chNum = (node->val + '0');
int realNum = stoi(num + chNum);
// cout<<realNum<<endl;
this->result += realNum;
return;
}
char chNum = (node->val + '0');
moveNode(node->left, num + chNum);
moveNode(node->right, num + chNum);
}
int sumNumbers(TreeNode* root) {
moveNode(root, "");
// cout<<"realNum: "<<this->result<<endl;
return this->result;
}
};배운거
Last updated
Was this helpful?