# 二叉树的中序遍历
https://leetcode.cn/problems/binary-tree-inorder-traversal/

class Solution { | |
public: | |
vector<int> inorderTraversal(TreeNode* root) { | |
vector<int> res; | |
if (root == nullptr) | |
return res; | |
stack<TreeNode*> sk; | |
TreeNode* temp = root; | |
while (temp) { | |
sk.push(temp); | |
temp = temp->left; | |
} | |
while (!sk.empty()) { | |
temp = sk.top(); | |
sk.pop(); | |
res.push_back(temp->val); | |
temp = temp->right; | |
while (temp) { | |
sk.push(temp); | |
temp = temp->left; | |
} | |
} | |
return res; | |
} | |
}; |
class Solution { | |
public: | |
vector<int> inorderTraversal(TreeNode* root) { | |
vector<int> res; | |
stack<TreeNode*> stk; | |
while (root != nullptr || !stk.empty()) { | |
while (root != nullptr) { | |
stk.push(root); | |
root = root->left; | |
} | |
root = stk.top(); | |
stk.pop(); | |
res.push_back(root->val); | |
root = root->right; | |
} | |
return res; | |
} | |
}; |