题解 | #反转链表#

反转链表

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

思路

  • 遍历遍历链表的节点 for
  • 当前节点指向上一个节点 pHead.Next=pre
  • 上一个节点变成当前节点 pre=Phead
  • 下一个节点变成当前节点 pHead=next
  • 当前节点如果是nil停止遍历 pHead!=nil
  • 返回当前节点 pre

代码

package main
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 
 * @param pHead ListNode类 
 * @return ListNode类
*/
func ReverseList( pHead *ListNode ) *ListNode {
    var pre,next *ListNode
    for pHead !=nil{
        next=pHead.Next
        pHead.Next=pre
        pre=pHead
        pHead=next
    }
    return pre
}
全部评论

相关推荐

宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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