zoukankan      html  css  js  c++  java
  • leetcode7:binary-tree-preorder-traversal

    题目描述

    求给定的二叉树的前序遍历。
    例如:
    给定的二叉树为{1,#,2,3},
    1
     
       2
      /
    3
    返回:[1,2,3].
    备注;用递归来解这道题太没有新意了,可以给出迭代的解法么?

    /**
     * struct TreeNode {
     *    int val;
     *    struct TreeNode *left;
     *    struct TreeNode *right;
     * };
     */

    class Solution {
    public:
        /**
         *
         * @param root TreeNode类
         * @return int整型vector
         */
        vector<int> preorderTraversal(TreeNode* root) {
            // write code here
            vector <int> res;
            stack<TreeNode*> s;
            if (root==NULL){
                return res;
            }
            s.push(root);
            while (!s.empty())
            {
                TreeNode *cur=s.top();
                s.pop();
                res.push_back(cur->val);
                if (cur->right!=NULL)
                    s.push(cur->right);
                if (cur->left !=NULL)
                    s.push(cur->left);
                
            }
            return res;
        }
    };

  • 相关阅读:
    处理火星文重温vchar,char,nvchar,nchar
    删除文件
    js常用正则表达式
    安装iis 配置iis
    无题
    js函数大全
    常用正则表达式
    QQ在线客服
    获取系统文字字体
    无限级删除的存储过程
  • 原文地址:https://www.cnblogs.com/hrnn/p/13438827.html
Copyright © 2011-2022 走看看