leetcode 55:binary-tree-inorder-traversal

2293 단어

제목 설명


두 갈래 나무 한 그루를 주어 이 나무의 중서로 되돌아가다
예:
주어진 두 갈래 나무는 {1,#,2,3},

 \
  2
 /

[1,3,2]로 돌아갑니다.
비고: 귀속적인 해법은 너무 새롭지 않다. 너는 교체적인 방법으로 이 문제를 풀 수 있니?
코드는 다음과 같습니다.
 1  vector<int> inorderTraversal(TreeNode* root) {
 2         TreeNode* cur = root;
 3         stack s;
 4         vector<int> ret;
 5         while(cur || !s.empty())
 6         {
 7             while(cur)
 8             {
 9                 s.push(cur);
10                 cur = cur->left;
11             }
12             TreeNode* top = s.top();
13             ret.push_back(top->val);
14             s.pop();
15             cur = top->right;
16         }
17         return ret;
18     }

 

좋은 웹페이지 즐겨찾기