链表对于php开发来说可能接触的比较少,但其实理解了之后还是挺简单的。感觉跟处理数组差不多。性能的话就先不考虑了。
/**
* Definition for a singly-linked list.
* class ListNode {
* public $val = 0;
* public $next = null;
* function __construct($val = 0, $next = null) {
* $this->val = $val;
* $this->next = $next;
* }
* }
*/
class Solution {
/**
* @param ListNode $head
* @return ListNode
*/
function deleteDuplicates($head) {
$current=$head;
while (true){
$next=$current->next;
if($next===null){ // 没有下一个node就跳出
break;
}
if($current->val===$next->val){ // 如果相同,把当前node的next指向下下个元素
$current->next=$next->next;
}else{ // 不同的话,把当前node换成next,即继续下一个元素
$current=$next;
}
}
return $head;
}
}