题解 | #反转链表#

反转链表

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

解法一:三个指针beg,mid,end。每次mid->next指向beg,然后三个指针都向后移动一位,知道end==null。最后一步是mid->next = beg。返回mid

<?php

/*class ListNode{
    var $val;
    var $next = NULL;
    function __construct($x){
        $this->val = $x;
    }
}*/

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return ListNode类
 */
function ReverseList($head)
{
    // write code here
    if($head->next == null){
        return $head;
    }
    $beg = null;
    $mid = $head;
    $end = $head->next;
    while($end != null){
        $mid->next = $beg;
        $beg = $mid;
        $mid = $end;
        $end = $mid->next;
    }
    $mid->next = $beg;
    return $mid;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务