当前位置:网站首页>LeetCode143:重排链表
LeetCode143:重排链表
2022-08-04 21:34:00 【斯沃福德】
题目:
思路:双指针
- 由于链表没有索引,所以使用List先将节点依次装入;
- 根据题目要求的顺序,想到双指针 ! i 为最左, j 为最右,每次用 i 指向 j ,即为题目顺序!
指针 i 和 j 每次同时向中间移动,直到 i > j 则停止;
但是每一轮还需要将 j 指向 i+1,以连接本轮的 j 和下一轮的 i; - 注意:最后以一定要让末尾节点指向 null,否则会成环!
由于每一轮最后 i++, j-- ,所以末尾元素的索引是 i 而不是 j;
class Solution {
public void reorderList(ListNode head) {
ArrayList<ListNode> list=new ArrayList<>();
ListNode curr=head;
// 存
while(curr!=null){
list.add(curr);
curr=curr.next;
}
// 双指针!
int i=0;
int j=list.size()-1;
// 修改
while(i<j){
list.get(i).next=list.get(j);
if(i+1<j){
list.get(j).next=list.get(i+1);
}
i++;
j--;
}
// 最后要将i指针的元素指向null !!! 否则成环!
list.get(i).next=null;
}
}
边栏推荐
猜你喜欢

Hands-on Deep Learning_NiN

Zynq Fpga图像处理之AXI接口应用——axi_lite接口使用

硬件开发定制全流程解析

JWT actively checks whether the Token has expired

88. (the home of cesium) cesium polymerization figure

ROS播包可视化

ue unreal 虚幻 高分辨率无缩放 编辑器字太小 调整编辑器整体缩放

【CC3200AI 实验教程 1】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-开发环境搭建

数电快速入门(一)(BCD码和三种基本逻辑运算的介绍)

驱动点云格式修改带来的效率提升
随机推荐
Re24:读论文 IOT-Match Explainable Legal Case Matching via Inverse Optimal Transport-based Rationale Ext
buu web
搬走地下空间开发利用“绊脚石” 中地数码取得地下空间透明化技术突破
硬件开发定制全流程解析
数电快速入门(一)(BCD码和三种基本逻辑运算的介绍)
Win11如何开启Telnet客户端?
dotnet delete read-only files
UDP通信
数电快速入门(三)(卡诺图化简法的介绍)
stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板
《剑指offer》刷题分类
PMP证书在哪些行业有用?
【SQL之降龙十八掌】01——亢龙有悔:入门10题
[2022 Nioke Duo School 5 A Question Don't Starve] DP
LeetCode: 406. 根据身高重建队列
Driving point cloud format changes bring efficiency improvement
Is the International Project Manager PMP certificate worth taking?
【PCBA program design】Grip dynamometer program
unity2D横版游戏教程8-音效
Flutter 实现背景图片毛玻璃效果