链表
超喜欢榴莲吖
许愿未来温暖阳光,满身宠爱
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
86. 分隔链表
题目 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5 第一次做的时候想直接改变链表中指针位置来重构满足条件的链表,发现不好实现。 应该直接开两个新的链表,分别储存小于x和大于等于x的两部分,再做拼接。 /** * Defin原创 2020-07-10 11:55:25 · 112 阅读 · 0 评论 -
删除链表节点
83. 删除排序链表中的重复元素 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* delete原创 2020-07-10 10:45:38 · 126 阅读 · 0 评论 -
23. 合并K个排序链表
题目链接 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 1. 顺序两两合并 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *原创 2020-07-09 10:07:43 · 177 阅读 · 0 评论 -
交换链表中的节点
原题 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 参考博客 /** * Definition for singly-linked list. * public class ListNode { * ...原创 2019-12-05 10:49:58 · 251 阅读 · 0 评论
分享