有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java链表每N个整数打印一次方法

我需要为链表类编写一个方法:

打印列表中每个“n”节点的内容。从用户处获取“n”,确保 大于0

我该怎么做呢

 public void nthNode (int n) {
     if (n <= 0) {
        System.out.println("error");
     } else {
       //bla
     }
 } 

共 (4) 个答案

  1. # 1 楼答案

     public void nthNode (int n) {
         if (n <= 0) {
            System.out.println("error");
         } else {
             for (int i = 0; i < size(); i += n) {
                 //LinkedList#get(i);
             }
         }
     }
    
  2. # 2 楼答案

    迭代列表中的每个元素。如果当前项的索引可被n整除,则打印元素。您可以使用模运算符(%Java中的)检查偶数整除性

  3. # 3 楼答案

    假设您有某种类型的节点类:

    public void nthNode( int n ){
         if( n <= 0 ){
                System.out.println( "error" );
          } else {
             Node e = new Node();
             e = head;
    
             int count = 0;
    
             while( e != null ){
    
                  if( count == n ){
                      //do stuff
                      break;
                  }
    
                  e = e.next;
                  cout++;
         }
    
    }
    

    对不起,有点草率,但这就是要点

  4. # 4 楼答案

    当计数器是n的倍数时,您的主要目的是打印节点的数据

    所以,你不需要在数据上检查mod,而需要在计数器上检查mod,并用n检查mod

    使用while循环迭代链接列表(使用say curr指针)。检查电流状况。下一个=无效的将计数初始化为0。迭代时,计算到目前为止遍历的节点数。如果(计数==n),则打印节点数据并将计数初始化为0