题解 | #反转链表#

反转链表

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
}
全部评论

相关推荐

人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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