题解 | #二叉树的中序遍历#

二叉树的中序遍历

http://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d

非递归方法,使用指针数组代替栈

int* inorderTraversal(struct TreeNode* root, int* returnSize ) {
    *returnSize=0;
    struct TreeNode* stack[1000];
    struct TreeNode* node=root;
    int head=0;
    int tail=0;
    int k=0;
    int* res=(int*)malloc(sizeof(int)*1000);
    while(node||head!=tail){
        if(node){
            stack[tail++]=node;
            node=node->left;
        }else{
            node=stack[--tail];
            res[k++]=node->val;
            node=node->right;
        }
    }
    *returnSize=k;
    return res;
}
全部评论

相关推荐

昨天 18:49
同济大学 设计
点赞 评论 收藏
分享
头像
02-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
2024-12-30 22:31
吉首大学 Web前端
工字钢写代码:改成吉林就OK了
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务