https://leetcode.cn/problems/remove-linked-list-elements/description/第一题:移除链表元素
https://leetcode.cn/problems/remove-linked-list-elements/description/
第二题:反转链表
https://leetcode.cn/problems/reverse-linked-list/description/
第三题:链表的中间结点
https://leetcode.cn/problems/middle-of-the-linked-list/description/
第四题:合并有序列表
https://leetcode.cn/problems/merge-two-sorted-lists/description/
第五题:链表分割
https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70
/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {ListNode* lesshead,*lesstail;lesshead=lesstail=(ListNode*)malloc(sizeof(ListNode));ListNode* greaterhead,*greatertail;greaterhead=greaterhead=(ListNode*)malloc(sizeof(ListNode));while(pHead){if(pHead->val>=x){greatertail->next=pHead;greatertail=greatertail->next;}if(pHead->val<x){lesstail->next=pHead;lesstail=lesstail->next;}pHead=pHead->next;}lesstail->next=greaterhead->next;greatertail->next=NULL;free(lesshead);free(greaterhead);lesshead=greaterhead=NULL;return lesshead->next;}
};
第六题:回文结构(正序和倒序,顺序一样)
https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa
第七题:相交链表
链表的相交和数学的直线相交不一样。因为链表只要有一个结点是一样的,那next也是一样的,之后都是相同的。
https://leetcode.cn/problems/intersection-of-two-linked-lists/description/