首页 > 试题广场 >

反转部分单向链表

[编程题]反转部分单向链表
  • 热度指数:3373 时间限制:C/C++ 4秒,其他语言8秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个单链表,在链表中把第 L 个节点到第 R 个节点这一部分进行反转。

输入描述:
n 表示单链表的长度。

val 表示单链表各个节点的值。

L 表示翻转区间的左端点。

R 表示翻转区间的右端点。


输出描述:
在给定的函数中返回指定链表的头指针。
示例1

输入

5
1 2 3 4 5
1 3

输出

3 2 1 4 5

备注:



头像 简笔话_Golden
发表于 2020-04-05 00:19:31
package algorithm.list; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * @描述: 反转部分单向链表 * @思路: 展开全文
头像 热爱洗屁屁的羊
发表于 2021-07-15 00:23:08
方法一:左右指针以及首尾指针左右指针在交换时记录左右位置,而首尾指针记录反转界限位置。注意:存在换头时,需要单独进行处理。例子:1(pre)->{2->3->4->5->6}->7(pos)->8其中,{...}内为交换部分。 list_node * rev 展开全文
头像 Stephen丶curry
发表于 2023-08-21 04:29:59
思路一:利用我们的正常思维,将需要翻转的那部分拆解下来,然后再将翻转后的链表链接上 #include <iostream> using namespace std; struct ListNode { int val; ListNode* next; ListNode(int 展开全文
头像 lssts
发表于 2022-10-20 17:24:03
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import&nb 展开全文
头像 僕が
发表于 2023-04-03 08:28:55
#include <iostream> using namespace std; struct Node { int val; struct Node* next; }; Node* input_List() { int n,val; Node* phea 展开全文