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

来源:互联网 发布:w7本地连接未识别网络 编辑:程序博客网 时间:2024/05/16 14:07
vector<int> tree::preorderTree(treeNode *root)
{
    vector<int> result;
    stack<treeNode*> tempStack;
    treeNode *dummyRootNode = root;//不知道root值是否会被改变 所以用这种方式 要测试一下
    if(dummyRootNode)
        tempStack.push(dummyRootNode);
    while(!tempStack.empty())
    {
        treeNode *tempNode = tempStack.top();
        tempStack.pop();
        result.push_back(tempNode->value);
        if(tempNode->rchild) tempStack.push(tempNode->rchild);
        if(tempNode->lchild) tempStack.push(tempNode->lchild);
    }
    return result;
}

0 0
原创粉丝点击