题解 | #反转链表#

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

方法一:构造链表

如果此类型的题出现在笔试中,如果内存要求不高,可以采用如下方法:
可以先用一个slice将单链表的指针都存起来,然后再构造链表。
此方法简单易懂,代码好些。
###代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package main
import . "nc_tools"
import "fmt"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 
 * @param pHead ListNode类 
 * @return ListNode类
*/
func ReverseList( pHead *ListNode ) *ListNode {
    alldata:=make([]*ListNode,0)
    current := pHead
    // write code here
    for ;current!=nil;{
        fmt.Println(current.Val)
        alldata=append(alldata,current)
        current=current.Next
    }
    var tmp *ListNode
    for i:=0;i<len(alldata);i++{
        oneNode:=alldata[i]
        
        preNode:=tmp
        tmp=oneNode
        tmp.Next=preNode
    }
    return tmp
    
}

时间复杂度:O(n)
空间复杂度:O(n), 用了一个slice来存单链表

全部评论

相关推荐

点赞 评论 收藏
分享
02-25 19:38
门头沟学院 Java
点赞 评论 收藏
分享
多多啊&nbsp;多多啊&nbsp;上来四道算法题算法题直播排序,整体比较简单把对象写出来,然后比较规则写明白就OK了。唯一一道A100%的电车充电如何最省钱,到目的地如何充电的钱最少,路上有充电站,每个电站价格不一样。用了DP来做,但感觉是贪心的样子,最后没招了,把不能到的情况给干了出来,过了8%日志分析纠错,滑动窗口,但我最后结果永远少一,过了15%没看,力竭了燃尽了多多&nbsp;以后牛客不用后台找我了,笔试夯爆了
淮竹c:不好意思,打扰大家🙏我是一个拼多多骑手,小电驴的最大电量为C,我的最大电量有1e9这么promax😭😭😭需要从x=0处走到x=L,L足足有1e9那么长处,途中有n个充电站,🙏🙏每个充电站的距离和电价分别为di和pi,初始电量是满的😭😭😭请告诉我到达终点最少要花多少钱😭😭😭求求大家把这些钱转给我
查看2道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务