初阶数据结构OJ题 - 单链表

题目一:

链表分割_牛客题霸_牛客网 (nowcoder.com)

思路:

按照题目要求 创建两个新的链表 一个链接是比X小的后称less 一个链接不比X小的后称greater 

这两个链表之前都建立哨兵位

之后再将greater链接在less之后

最后记得释放哨兵位

源代码:

class Partition {
public:
    ListNode* partition(ListNode* pHead, int x) {
        // write code here
        ListNode* lesshead=(ListNode*)malloc(sizeof(ListNode));//开一个哨兵位 方便尾插
        ListNode* greaterhead = (ListNode*)malloc(sizeof(ListNode));
        ListNode* lesstail=lesshead;
        ListNode* greatertail = greaterhead;
        ListNode* cur = pHead;

        lesstail->next = NULL;
        greatertail->next = NULL;
        while(cur)
        {
 

你可能感兴趣的:(数据结构,c语言,数据结构,链表)