![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
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 · 113 阅读 · 0 评论 -
leetcode-19 删除链表的倒数第N个节点
#题目描述 1.先遍历一遍,计算链表长度,那么倒数k,就可以转化为整数n-k+1,那么找到n-k节点就是删除节点的前一个节点 2.双指针,头指针前进k,尾指针开始前进,保持gap,那么头指针为空,尾指针就是删除节点的前一个节点 java代码1 public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dumm...原创 2020-03-14 21:31:53 · 107 阅读 · 0 评论 -
leetcode-2 两数相加
题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 题目示例 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 ...原创 2020-02-28 13:53:56 · 105 阅读 · 0 评论 -
剑指offer 反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头。 题目分析 该题目有两种解题思路,递归方式与非递归方式,直接给出代码,在代码中给出重要问题及其解释 java代码(非递归) static class ListNode { int val; ListNode next = null; ListNode(int val) { ...原创 2020-02-03 18:09:02 · 57 阅读 · 0 评论