0
点赞
收藏
分享

微信扫一扫

如何使用AzurEnum快速枚举Microsoft Entra ID(Azure AD)

霍华德 2024-05-16 阅读 12

题目描述

题目描述


解题思路


动画详解

动画详解分解链表


代码实现

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

typedef struct ListNode ListNode;

struct ListNode* partition(struct ListNode* head, int x)
{
    ListNode* lessHead, *lessTail;
    ListNode* greatHead,*greatTail;
    lessHead = lessTail = (ListNode*)malloc(sizeof(ListNode));
    greatHead = greatTail = (ListNode*)malloc(sizeof(ListNode));

    ListNode* pcur = head;
    while(pcur)
    {
        if(pcur->val<x)
        {
            // 插入到小链表中
            lessTail->next = pcur;// 这里的思想可以学习一下
            lessTail = lessTail->next;
        }
        else
        {
            // 插入到大链表中
            greatTail->next = pcur;
            greatTail = greatTail->next;
        }
        pcur = pcur->next;
    }
    // 把大链表的尾部置空,防止出现链表循环
    greatTail->next = NULL;
    // 大小链表首尾相接
    lessTail->next = greatHead->next;
    return lessHead->next;
}


注意事项


复杂度分析


总结

💖💖💖非常感谢各位的支持💖💖💖
我们共同进步
本系列持续更新,关注我,带你手撕面试算法题
下期再见
玉桂狗吃东西

举报

相关推荐

0 条评论