
链表
FiveWords
努力变强!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode21-合并两个有序链表
题目描述使用一个头指针,改变两条链表的指向就可以使用O(1)的空间复杂度解决这个问题。Java代码public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode p = head; while(l1!=null...原创 2020-03-15 20:38:27 · 148 阅读 · 0 评论 -
leetcode-19 删除链表的倒数第N个节点
#题目描述1.先遍历一遍,计算链表长度,那么倒数k,就可以转化为整数n-k+1,那么找到n-k节点就是删除节点的前一个节点2.双指针,头指针前进k,尾指针开始前进,保持gap,那么头指针为空,尾指针就是删除节点的前一个节点java代码1public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dumm...原创 2020-03-14 21:31:53 · 146 阅读 · 0 评论 -
leetcode-2 两数相加
题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。题目示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...原创 2020-02-28 13:53:56 · 169 阅读 · 0 评论 -
剑指offer 反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。题目分析该题目有两种解题思路,递归方式与非递归方式,直接给出代码,在代码中给出重要问题及其解释java代码(非递归)static class ListNode { int val; ListNode next = null; ListNode(int val) { ...原创 2020-02-03 18:09:02 · 86 阅读 · 0 评论