题解 | #反转链表#

反转链表

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

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务