首页 > 其他 > 详细

Leetcode 之Binary Tree Inorder Traversal(43)

时间:2016-05-28 17:11:27      阅读:126      评论:0      收藏:0      [点我收藏+]

技术分享

树的中序遍历。先不断压入左结点至末尾,再访问,再压入右结点。注意和先序遍历的比较

技术分享
vector<int> inorderTraversal(TreeNode *root)
      {
          vector<int> result;
          stack<TreeNode *>s;
          TreeNode *p = root;
          while (!s.empty() || p != nullptr)
          {
              if (p != nullptr)
              {
                  //将当前结点和其左结点不断入栈
                  s.push(p);
                  p = p->left;
              }
              else
              {
                  //访问到了左结点末尾
                  //访问该结点并弹出
                  p = s.top();
                  result.push_back(p->val);
                  s.pop();
                  //将方向转为其右结点
                  p = p->right;
              }
          }
          return result;
      }
View Code

 

Leetcode 之Binary Tree Inorder Traversal(43)

原文:http://www.cnblogs.com/573177885qq/p/5537525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!