【java】92. 反转链表 II---无需额外空间,时间复杂度O(n)!!!
发布日期:2021-05-07 02:22:08 浏览次数:18 分类:精选文章

本文共 619 字,大约阅读时间需要 2 分钟。

给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。

示例 1:

在这里插入图片描述

输入:head = [1,2,3,4,5], left = 2, right = 4

输出:[1,4,3,2,5]
示例 2:

输入:head = [5], left = 1, right = 1

输出:[5]

提示:

链表中节点数目为 n

1 <= n <= 500
-500 <= Node.val <= 500
1 <= left <= right <= n

代码:public static ListNode reverseBetween(ListNode head, int left, int right) {   			int i=1;			ListNode nodeleft,noderight,p =head,leftfirst =null,p1 =null,p2 =null;			while(p!=null) {   				if(i==left-1) {   					leftfirst=p;				}				else if(i==left) {   				   p2=p1=p;				   p=p.next;				   i++;				   continue;				}else if(i>left&&i
上一篇:【Java】1603. 设计停车系统---快速学习条件判断!!!
下一篇:【java】115. 不同的子序列----学会动态规划,时间复杂度O(n^2)!!!

发表评论

最新留言

很好
[***.229.124.182]2025年03月21日 16时27分27秒