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;
        }
    };

  • 相关阅读:
    ios 应用剖析
    nyist 737 相邻石子合并问题
    砝码称重 2
    HDU4614【线段树。】
    Spark安装
    广度优先搜索
    MongoDB 操作手冊CRUD 更新 update
    HiWorkV1.3版震撼公布,今日起正式公开測试!
    织梦调用父级栏目链接和名称
    使用Blender批量导出/转换模型
  • 原文地址:https://www.cnblogs.com/hrnn/p/13438827.html
Copyright © 2011-2022 走看看