1 题目描述
给出一棵二叉树,返回这棵树的中序遍历
2 解题思路
见代码。
3 代码实现
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
stack<TreeNode*> leftSubtreeList;
vector<int> inorderTraversalResult;
TreeNode* curNode = root;
while(!leftSubtreeList.empty() || curNode != NULL){
while(curNode != NULL){
leftSubtreeList.push(curNode);
curNode = curNode->left;
}
curNode = leftSubtreeList.top();
leftSubtreeList.pop();
inorderTraversalResult.push_back(curNode->val);
curNode = curNode->right;
}
return inorderTraversalResult;
}
};
4 运行结果
运行时间:3ms
占用内存:384k