Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
60 lines (52 loc) · 1.46 KB

File metadata and controls

60 lines (52 loc) · 1.46 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//
// Solution145.hpp
// Algorithm
//
// Created by Pancf on 2019/12/21.
// Copyright © 2019 Pancf. All rights reserved.
//
#ifndef Solution145_hpp
#define Solution145_hpp
#include <stdio.h>
#include <vector>
using std::vector;
class Solution145 {
/**
Given a binary tree, return the postorder traversal of its nodes' values.
Example:
Input: [1,null,2,3]
1
\
2
/
3
Output: [3,2,1]
Follow up: Recursive solution is trivial, could you do it iteratively?
================================================================================================
Accept details:
Runtime: 4 ms, faster than 59.15% of C++ online submissions for Binary Tree Postorder Traversal.
Memory Usage: 9.1 MB, less than 93.55% of C++ online submissions for Binary Tree Postorder Traversal.
思路:迭代法的后续遍历要比前序、中序稍难一点,具体思路见实现文件的注释
*/
public:
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
vector<int> postorderTraversal(TreeNode* root);
static void test() {
TreeNode root{1};
TreeNode node1{2};
TreeNode node2{3};
root.right = &node1;
node1.left = &node2;
Solution145 s = Solution145();
auto rv = s.postorderTraversal(&root);
for (auto ele : rv) {
printf("%d ", ele);
}
}
};
#endif /* Solution145_hpp */
Morty Proxy This is a proxified and sanitized view of the page, visit original site.