繁体   English   中英

删除备用节点:编译器给我错误的答案 idk 为什么

[英]Delete Alternate Nodes: the compiler is getting me wrong answer idk why

给定一个大小为 N 的单链表,删除列表中的所有备用节点。

示例 1:

输入:链表:1->2->3->4->5->6
Output:1->3->5
说明:删除备用节点
生成具有元素 1->3->5 的链表。

我的代码

class Solution {
    
    public void deleteAlternate (Node head){
        //Write your code here
        Node a = head;
        int i = 0;
        
        while(a!= null){
            if(i%2==0){
                System.out.print(a.data+" ");
            }
            i++;
            a = a.next;
            
        }
        
        System.out.println();
    }
}

我的 output

对于输入:
6
1 2 3 4 5 6
你的 output 是:
1 3 5
1 2 3 4 5 6

您当前的代码只是打印列表中奇数位置的所有元素。 但是,您应该修改该列表。 以下是可以执行以从列表中删除元素“2”的步骤示例:

  • 在元素“1”上时,您会阅读指向应删除的下一个元素(元素“2”)的链接
  • 您阅读了从元素“2”到下一个元素“3”的链接
  • 您将元素“3”的链接保存到元素“1”的“下一个”字段中,所以现在“1”的下一个元素将是“3”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM