zoukankan      html  css  js  c++  java
  • leetcode

    Given a binary tree, return the preorder traversal of its nodes' values.

    For example:
    Given binary tree {1,#,2,3},

       1
        
         2
        /
       3
    

    return [1,2,3].

    Note: Recursive solution is trivial, could you do it iteratively?

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    
    //BinTree的先序遍历
    struct TreeNode
    {
    	int val;
    	TreeNode *left;
    	TreeNode *right;
    	TreeNode(int x): val(x), left(NULL),right(NULL) {}
    }
    class Solution {
    public:
    	std::vector<int> preorderTraversal(TreeNode *root) {
    		std::vector<int> vec;
    		BinTree(root,vec);
    		return vec;
    	}
    	void BinTree(TreeNode *root, std::vector<int> &vec)
    	{
    		if(root != NULL)
    		{
    			vec.push_back(root->vel);
    			BinTree(root->left,vec);
    			BinTree(root->right,vec);
    		}
    	}
    };


  • 相关阅读:
    hdu1507
    zoj1654
    hdu2444
    poj3692
    hdu1150
    hdu1151
    poj2771
    hdu3829
    hdu4619
    hdu4715
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7261469.html
Copyright © 2011-2022 走看看