LetCode의 Binary Tree Preorder Traversal
1873 단어 LeetCode
Given a binary tree, return the preorder traversal of its nodes' values.
For example: Given binary tree
{1,#,2,3}
, return
[1,2,3]
. 두 갈래 나무의 순서는 반복됩니다. 귀환은 매우 간단합니다. 바로vector의 결과를 되돌려야 하기 때문에 호출을 시작할 때 하나의vector를 불러옵니다. 여기는 주소만 받습니다.
코드(20ms):
class Solution {
public:
vector<int> preorderTraversal(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
vector<int> result;
preTravle(root, result);
return result;
}
void preTravle(TreeNode *root , vector<int>&result){
if(root == NULL) return;
result.push_back(root->val);
if(root->left) preTravle(root->left , result);
if(root->right) preTravle(root->right , result);
return;
}
};
비귀속 방법: (24ms):
비귀속은 자연히 창고를 생각하게 된다. 먼저 순서가 뿌리-왼쪽-오른쪽이기 때문에 창고를 쌓을 때 먼저 창고 오른쪽 노드에 들어간 다음에 왼쪽 노드에 들어가는 것을 주의해야 한다.
class Solution {
public:
vector<int> preorderTraversal(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
vector<int> result;
if(!root) return result;
stack<TreeNode*>s;
s.push(root);
// ,
while(!s.empty()){
TreeNode*current = s.top();
s.pop();
// vector
result.push_back(current->val);
//
if(current->right) s.push(current->right);
if(current->left) s.push(current->left);
}
return result;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 문자열 입력으로 모든 유효한 IP 주소 생성(LeetCode 93번 문제)이 문제의 공식 난이도는 Medium으로 좋아요 1296, 반대 505, 통과율 35.4%를 눌렀다.각 항목의 지표로 말하자면 보기에는 약간 규범에 맞는 것 같지만, 실제로도 확실히 그렇다.이 문제의 해법과 의도는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.