链表
Kweisan0
这个作者很懒,什么都没留下…
展开
-
每天一道算法题之K个一组翻转链表
K个一组翻转链表 题目描述: 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。1 例如: 给你这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k = 3 时,应当返回: 3->2->1->4->5 若数目不够无需翻转 思路: 利用栈进行存储需要翻转原创 2020-07-12 20:19:42 · 299 阅读 · 0 评论 -
每天一道算法题之两两交换链表中的节点
两两交换链表中的节点 题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。1 例如: 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 思路:双指针进行求解, node指向要交换节点的前一个指针,head指向交换的第一个指针 代码部分: public ListNode swapPairs(ListNode head) { if(head ==原创 2020-07-10 21:18:10 · 159 阅读 · 0 评论 -
每天一道算法题之合并两个有序链表
合并两个有序链表 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 1 例如: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路 按照大小关系进行添加,遍历链表需要辅助指针 分为两部分,先解决均不为空的节点,再解决剩下的节点 代码部分: public ListNode mergeTwoLists(ListNode l1, ListNode l2)原创 2020-07-09 19:43:57 · 246 阅读 · 1 评论