当前位置:网站首页>LeetCode简单题分享(20)
LeetCode简单题分享(20)
2022-07-07 11:36:00 【PigeonEssence】
这是一个简单的链表问题,其中的核心问题就是找到中心点。
因为这个链表并不是一个双向链表,所以不能简单的考虑双指针反向遍历的想法。所以快慢指针是一个好的办法。
快慢指针的概念就是慢指针每次走一步,那么他走n次的结果就是n;
快指针每次走两步,走n次的结果就是2n。
那么当快指针走到链表末尾的 时候,也就是快指针的值为空或者快指针的下一个是空。这是慢指针指向的节点就是中心节点。
代码如下:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode middleNode(ListNode head) {
//慢指针
ListNode slowPointer = head;
//快指针
ListNode fastPointer = head;
//快指针为空或者快指针的下一个节点为空的时候跳出循环
while(fastPointer!=null && fastPointer.next!=null){
//慢指针走一步
slowPointer = slowPointer.next;
//快指针走两步
fastPointer = fastPointer.next.next;
}
//返回慢指针
return slowPointer;
}
}
边栏推荐
- Enregistrement de la navigation et de la mise en service du robot ROS intérieur (expérience de sélection du rayon de dilatation)
- 【黑马早报】华为辟谣“军师”陈春花;恒驰5预售价17.9万元;周杰伦新专辑MV 3小时播放量破亿;法华寺回应万元月薪招人...
- JS function returns multiple values
- 《厌女:日本的女性嫌恶》摘录
- About how appium closes apps (resolved)
- Simple and easy-to-use code specification
- Cinnamon 任务栏网速
- 【等保】云计算安全扩展要求关注的安全目标和实现方式区分原则有哪些?
- 聊聊伪共享
- Talk about pseudo sharing
猜你喜欢
C语言数组相关问题深度理解
My "troublesome" subordinates after 00: not bad for money, against leaders, and resist overtime
Detr introduction
LIS longest ascending subsequence problem (dynamic programming, greed + dichotomy)
Esp32 construction engineering add components
Use of polarscatter function in MATLAB
LIS 最长上升子序列问题(动态规划、贪心+二分)
Cinnamon 任务栏网速
Milkdown 控件图标
Scrapy教程经典实战【新概念英语】
随机推荐
线程池拒绝策略最佳实践
Vscode编辑器ESP32头文件波浪线不跳转彻底解决
Read PG in data warehouse in one article_ stat
Introduce six open source protocols in detail (instructions for programmers)
Ogre introduction
PACP学习笔记一:使用 PCAP 编程
JS缓动动画原理教学(超细节)
How to make the new window opened by electorn on the window taskbar
JNA learning notes 1: Concepts
Summary of import, export, backup and recovery of mongodb
LIS 最长上升子序列问题(动态规划、贪心+二分)
MongoDB优化的几点原则
MATLAB中polarscatter函数使用
ESP32 ① 编译环境
【等保】云计算安全扩展要求关注的安全目标和实现方式区分原则有哪些?
[QNX Hypervisor 2.2用户手册]6.3.4 虚拟寄存器(guest_shm.h)
干货|总结那些漏洞工具的联动使用
cmake 学习使用笔记(一)
交付效率提升52倍,运营效率提升10倍,看《金融云原生技术实践案例汇编》(附下载)
分屏bug 小记