面试题24:反转链表

Posted xlzfdddd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题24:反转链表相关的知识,希望对你有一定的参考价值。

NowCoder

<?php
header("content-type:text/html;charset=utf-8");
/*
 * 输入一个链表,反转链表后,输出新链表的表头。P142
 */

class ListNode{
    var $val;
    var $next = NULL;
    function __construct($x){
        $this->val = $x;
    }
}
function ReverseList($pHead)
{
    if($pHead == null || $pHead->next == null){
        return $pHead;
    }
    $cur = $pHead;
    $pre = null;
    $next = null;
    while ($cur != null){
        $next = $cur->next;
        $cur->next = $pre;
        $pre = $cur;
        $cur = $next;
    }
    return $pre;   //注意这里返回的是pre,不是pHead !!!!!!
}

$pHead = new ListNode(1);
$pHead->next = new ListNode(2);
$pHead->next->next = new ListNode(3);
$pHead->next->next->next = new ListNode(4);
$pHead->next->next->next->next = new ListNode(5);
print_r($pHead);
echo "</br>";
print_r(ReverseList($pHead));

 

以上是关于面试题24:反转链表的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer面试题24. 反转链表

剑指Offer - 面试题24:反转链表

LeetCode 面试题24. 反转链表

面试题24:反转链表

最强解析面试题:链表反转[go版]

[剑指offer]面试题16:反转链表