1.打印二叉树

程序很简单,但是其中犯了一个小错误,死活找不到,写代码要注意啊

这里左右子树,要注意是node->left,结果写成root->left

vector<int> PrintFromTopToBottom(TreeNode *root) {

    vector<int> res;
    if (NULL == root)
        return res;

    TreeNode* node;
    deque<TreeNode*> tmp;
    tmp.push_back(root);

    while (tmp.size()) {

        node = tmp.front();
        res.push_back(node->val);
        tmp.pop_front();

        if (node->left)
            tmp.push_back(node->left);
        if (node->right)
            tmp.push_back(node->right);
    }
    return res;
}
View Code

相关文章: