LeetCode OJ-129.Sum Root to Leaf Numbers
LeetCode OJ-129.Sum Root to Leaf Numbers
제목 설명
Given a binary tree containing digits from
0-9
only, each root-to-leaf path could represent a number. An example is the root-to-leaf path
1->2->3
which represents the number 123
. Find the total sum of all root-to-leaf numbers.
For example,
1
/ \
2 3
The root-to-leaf path
1->2
represents the number 12
. The root-to-leaf path 1->3
represents the number 13
. Return the sum = 12 + 13 =
25
. 제목 이해
뿌리 노드에서 최하층의 잎 노드로 구성된 경로는 하나의 수를 나타낸다. 제목에서 말한 바와 같이 1->2->3은 123을 나타낸다.제목은 두 갈래 나무의 모든 경로가 대표하는 수의 합을 요구합니다. 여기는 간단한 순서대로 처리할 수 있습니다. 문자열에 이 노드가 표시하는 숫자 문자를 추가할 때마다 최하층의 잎 노드를 만나면 문자열을 정형값으로 바꾸어 화합을 구할 수 있습니다.끝 위치는 처음에 추가한 문자를 삭제하고 거슬러 올라가야 합니다.
Code
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
void cal_sum(TreeNode *root, string &nums, int &sum)
{
if (root == 0) {
return ;
}
nums.push_back('0' + root->val);
if (root != 0 && root->left == 0 && root->right == 0) {
sum += stoi(nums);
}
cal_sum(root->left, nums, sum);
cal_sum(root->right, nums, sum);
nums.pop_back();
return ;
}
class Solution {
public:
int sumNumbers(TreeNode* root) {
int sum = 0;
string nums;
cal_sum(root, nums, sum);
return sum;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
9도 OJ 1116: 가감승제(기초문제)시간 제한: 1초 메모리 제한: 32메가바이트 특수 판제: 아니요 제출: 1466 해결 방법: 902 제목 설명: 입력한 연산자에 따라 입력한 정수에 대해 간단한 정수 연산을 진행한다.연산자는 더하기 +, 빼기 -,...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.