leetcode Submission Details

题目大意是先序遍历二叉树,深度优先搜索

1,使用递归

2,使用栈

使用递归的代码如下

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<int> preResult;
    vector<int> inorderTraversal(TreeNode* root) {
        if(root == nullptr)
            return preResult;
        deepSearch(root);
        return preResult;
    };
    
    void deepSearch(TreeNode * root){
        
        if(root -> left != nullptr){
            deepSearch(root -> left);
        }
        
        preResult.push_back(root -> val);
        
        if(root -> right != nullptr){
            deepSearch(root -> right);
        }
    };
    
};

 

posted @ 2016-04-10 18:02  shijiwomen  阅读(123)  评论(0编辑  收藏  举报