题解 | #反转链表#

反转链表

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

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

/**
 * 
 * @param pHead ListNode类 
 * @return ListNode类
*/
//双指针
func ReverseList( pHead *ListNode ) *ListNode {
    // write code here
    var pre *ListNode //定义一个空节点
    for pHead != nil { //如果pHead不为空,就继续循环
        temp := pHead.Next //将第一个节点存放临时temp
        pHead.Next = pre   //将第一个节点指向pre的空节点
        pre = pHead        //将pre往前移
        pHead = temp       //pHead将成为下一个节点
        
    }
    return pre
    
}

全部评论

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务