• leetcode 55:binary-tree-inorder-traversal


    题目描述

    给出一棵二叉树,返回这棵树的中序遍历
    例如:
    给出的二叉树为{1,#,2,3},
    1
     
      2
     /
    3
    返回[1,3,2].

    备注:递归的解法太没有新意了,你能用迭代的方法来解这道题吗?
    代码如下:
     1  vector<int> inorderTraversal(TreeNode* root) {
     2         TreeNode* cur = root;
     3         stack<TreeNode*> 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     }
     
  • 相关阅读:
    百斯特
    C++
    转载
    转载+整理
    转载
    转载
    转载
    C++
    转载
    CodeForces
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13468481.html
Copyright © 2020-2023  润新知