摘要:
题目描述 思路一:采用两次遍历 第一遍遍历先获取链表的长度length 第二次从dummy节点开始走length - n步 然后将该节点指向下下个节点 思路二:采用一次遍历 设置虚拟节点dummyHead指向head 设定双指针p和q,初始都指向虚拟节点dummyHead 移动q,直到p与q之间相隔 阅读全文
posted @ 2023-12-05 21:38
Ac_c0mpany丶
阅读(15)
评论(0)
推荐(0)
摘要:
题目描述 思路:新建dummy去"穿针引线" 新建一个dummy节点去"穿针引线" 注意最后返回的是dummy.next 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * List 阅读全文
posted @ 2023-12-05 19:57
Ac_c0mpany丶
阅读(14)
评论(0)
推荐(0)
摘要:
题目描述 思路:快慢指针 slow指针:每次移动一个节点 fast指针:每次移动两个节点 如果链表中存在环,fast指针最终会在某一时刻追上slow指针,这是由于移动速度快的fast指针会在某个时刻绕圈并追上速度慢的slow指针 条件 fast != null && fast.next != nul 阅读全文
posted @ 2023-12-05 12:05
Ac_c0mpany丶
阅读(24)
评论(0)
推荐(0)
摘要:
题目描述 思路:哈希表 对字符串排序,如果是异位词,排序后就变成一样的了。 方法一: class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = n 阅读全文
posted @ 2023-12-05 12:04
Ac_c0mpany丶
阅读(16)
评论(0)
推荐(0)
摘要:
题目描述 思路:双指针算法 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) 阅读全文
posted @ 2023-12-05 12:03
Ac_c0mpany丶
阅读(15)
评论(0)
推荐(0)
摘要:
题目描述 思路1:将值复制到数组中然后使用双指针 计算链表的长度 创建等长的数组 将链表中的数依次放入数组中 使用左右指针判断链表是否是回文链表 时间复杂度:O(n) 空间复杂度:O(n) 思路2:快慢指针+反转链表 用快慢指针,快指针走两步,慢指针走一步,快指针遇到终止位置时,慢指针就在链表中间位 阅读全文
posted @ 2023-12-05 12:01
Ac_c0mpany丶
阅读(31)
评论(0)
推荐(0)

浙公网安备 33010602011771号