首页 > 试题广场 >

翻转链表

[编程题]翻转链表
  • 热度指数:5701 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

对于一个链表 L: L0→L1→…→Ln-1→Ln,
将其翻转成 L0→Ln→L1→Ln-1→L2→Ln-2→…

输入是一串数字,请将其转换成单链表格式之后,再进行操作


输入描述:
一串数字,用逗号分隔


输出描述:
一串数字,用逗号分隔
示例1

输入

1,2,3,4,5

输出

1,5,2,4,3

备注:
数组长度不超过100000
头像 水镜客
发表于 2022-03-10 16:33:15
思路是先把字符串分为两个链,后一个链反转,然后合并两个链。这里面涉及了三个比较常见的操作第一:如何通过数组构建链表,第二:如何通过数组构建反向链表,第三:如何合并两个链表为一个链表(五指针) public class Main{ public static void main(String[ 展开全文
头像 牛客55646197号
发表于 2024-02-02 17:04:33
import java.util.Scanner; class LinkedList2 { class ListNode { public int val; public ListNode prev; public ListNode next; 展开全文
头像 laglangyue
发表于 2020-06-04 10:02:17
要求自建链表,把数组转换成链表,然后对链表进行操作。建立一个栈,一个指针p从头往后移动,指针q从栈中取出Node插入到p和p.next之间,pq相遇即停止,相遇有两种情况,一种是p==q,一种是p.next==q; import java.util.Arrays; import java.util. 展开全文

热门推荐

通过挑战的用户

查看代码