给定一个二叉树的根节点 root
,返回 它的 中序 遍历 。
示例 1:
输入:root = [1,null,2,3] 输出:[1,3,2]
示例 2:
输入:root = [] 输出:[]
示例 3:
输入:root = [1] 输出:[1]
class Solution {
public:vector<int> inorderTraversal(TreeNode* root) {stack<TreeNode*> s;TreeNode* p=root;vector<int> v;while(p||s.size()){//先把根节点入栈while(p){s.push(p); p=p->left;}//p为叶子节点后,p赋值右孩子p=s.top(); s.pop(); v.push_back(p->val);p=p->right;}return v;}};