05 2021 档案

摘要:原题链接 题解 方式一: 最容易想到的是先遍历一遍链表求出链表的长度len, 倒数第k个节点(题目中说下表从1开始)就是顺序的len - k + 1个节点,然后再遍历一遍找到答案就行。 在本题中数据中的k好像没有超出链表长度的范围,所以不用判定就行了。如果题目中k有可能会超出范围,那么是需要特判的。 阅读全文
posted @ 2021-05-12 08:28 Lngstart 阅读(59) 评论(0) 推荐(0)
摘要:原题链接 题解 快慢指针 定义两个指针i,j分别指向数组的初始,i表示数组中奇数要插入的位置,j向后去找奇数,找到就和i这个位置进行交换 class Solution { public int[] exchange(int[] nums) { int i = 0, j = 0;//i表示前面奇数的边 阅读全文
posted @ 2021-05-06 12:40 Lngstart 阅读(53) 评论(0) 推荐(1)
摘要:原题链接 题解 单指针扫描 直接从前向后遍历,找到要删除元素的上一个元素,然后直接进行操作就可以了。在我们操作无头结点链表的时候有一个技巧:如果我们的头节点可能变化的情况下,我们可以给它加上一个头结点,这样就可以省去许多的判定,操作更加的方便。 /** * Definition for singly 阅读全文
posted @ 2021-05-06 12:24 Lngstart 阅读(40) 评论(0) 推荐(0)