zoukankan      html  css  js  c++  java
  • leetcode 144. 二叉树的前序遍历

    给定一个二叉树,返回它的 前序 遍历。

     示例:

    输入: [1,null,2,3]  
       1
        
         2
        /
       3 
    
    输出: [1,2,3]
    

    进阶: 递归算法很简单,你可以通过迭代算法完成吗?

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 #include<stack>
    11 class Solution {
    12 public:
    13     vector<int> preorderTraversal(TreeNode* root) {
    14         vector<int> ans;
    15         stack<TreeNode*> s;
    16         s.push(root);
    17         while(!s.empty()){
    18             TreeNode* temp = s.top();
    19             if(temp==NULL) break;
    20             ans.push_back(temp->val);
    21             s.pop();
    22             if(temp->right != NULL) s.push(temp->right);
    23             if(temp->left != NULL) s.push(temp->left);
    24         }
    25         return ans;
    26     }
    27 };
    有疑惑或者更好的解决方法的朋友,可以联系我,大家一起探讨。qq:1546431565
  • 相关阅读:
    2.socket编程
    1网络编程基础概念
    vim笔记
    mysql示例及练习2
    mysql的示例及练习
    自己封装的mysql应用类示例
    mysql3_pymysql
    mysql2
    mysql1
    python之列表与集合
  • 原文地址:https://www.cnblogs.com/mr-stn/p/8951145.html
Copyright © 2011-2022 走看看