Sin2020 2022-03-17 20:45 采纳率: 100%
浏览 54
已结题

java中为什么要定义一个ListNode节点接收传入的ListNode参数

问题遇到的现象和发生背景

img


我直接使用这个传入的head参数来使用结果不对

问题相关代码,请勿粘贴截图

leetcode第83题目
输入的链表是1,1,2
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if (head==null) return head;
ListNode a=head;
while (a.next!=null){
if (a.val==a.next.val){
a.next=a.next.next;
}
}
return head;
}
}
这样写没有问题
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if (head==null) return head;

    while (head.next!=null){
        if (head.val==head.next.val){
            head.next=head.next.next;
        }
    }
    return  head;
}

}
这样写输出的是一个1了结果不对

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 关注

    你不用另一个指向head的话,你遍历每次要head=head.next,最终你返回是head都不是指向最初的节点了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月25日
  • 已采纳回答 3月17日
  • 创建了问题 3月17日