张德长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

牛客题霸 BM1 反转链表(C#、C++)

BM1 反转链表
 
 
简单  通过率:38.76%  时间限制:1秒  空间限制:256M
知识点链表

描述

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。
 
数据范围: 0\leq n\leq1000
要求:空间复杂度 O(1) ,时间复杂度 O(n) 。
 
如当输入链表{1,2,3}时,
经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。
以上转换过程如下图所示:

示例1

输入:
{1,2,3}
返回值:
{3,2,1}

示例2

输入:
{}
返回值:
{}
说明:
空链表则输出空

 

using System;
using System.Collections.Generic;
/*
public class ListNode {
public int val;
public ListNode next;
public ListNode (int x) {
val = x;
}
}
*/
class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode ReverseList (ListNode head) {
if(head==null)return null;
ListNode next = head.next;
ListNode cur = head;
ListNode temp;
head.next = null;
while (next != null) {
temp = next.next;
next.next = cur;
cur = next;
next = temp;
}
return cur;
}
}

 

posted on   张德长  阅读(14)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示