C语言 | Leetcode C语言题解之第144题二叉树的前序遍历

题目:

题解:

int* preorderTraversal(struct TreeNode* root, int* returnSize) {
    int* res = malloc(sizeof(int) * 2000);
    *returnSize = 0;
    if (root == NULL) {
        return res;
    }

    struct TreeNode *p1 = root, *p2 = NULL;

    while (p1 != NULL) {
        p2 = p1->left;
        if (p2 != NULL) {
            while (p2->right != NULL && p2->right != p1) {
                p2 = p2->right;
            }
            if (p2->right == NULL) {
                res[(*returnSize)++] = p1->val;
                p2->right = p1;
                p1 = p1->left;
                continue;
            } else {
                p2->right = NULL;
            }
        } else {
            res[(*returnSize)++] = p1->val;
        }
        p1 = p1->right;
    }
    return res;
}

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 19:22:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 19:22:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 19:22:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 19:22:01       18 阅读

热门阅读

  1. OpenCV之cv::Scalar

    2024-06-15 19:22:01       7 阅读
  2. python显示神经网络训练时的1batch数据

    2024-06-15 19:22:01       7 阅读
  3. 运维监控系统

    2024-06-15 19:22:01       8 阅读
  4. ArrayList<Integer>()转为int[]的几种方式

    2024-06-15 19:22:01       7 阅读
  5. c++_0基础_讲解5 判断语句

    2024-06-15 19:22:01       9 阅读
  6. 算法训练营day23补签

    2024-06-15 19:22:01       6 阅读
  7. ISO七层模型 tcp/ip

    2024-06-15 19:22:01       8 阅读
  8. 2022C语言二级真题

    2024-06-15 19:22:01       9 阅读
  9. TCP协议参数设置&说明

    2024-06-15 19:22:01       6 阅读