【问题标题】:write a java method insertNodeBefore which takes two integers int a and int b编写一个 java 方法 insertNodeBefore,它接受两个整数 int a 和 int b
【发布时间】:2018-07-20 12:27:24
【问题描述】:

两个给定的类:

public class Node { 
    int  data;  
    Node next;  

    Node(int d, Node n){   
        data = d;   
        next = n;       
    } 
}  

public class List{  
    Node header;
} 

编写一个java方法insertNodeBefore,它接受两个整数int a(这是我们要插入的新节点的数据)和int b(这是我们需要在之前插入新节点的节点的数据)为列表 mylist...

以下是我所拥有的,但我不确定:

public void insertNodeBefore(int a, int b) {
    ListNode newNode = new ListNode();
    newNode.data = b;
    header.next = newNode;
    header.next.next = newNode.next;
}

【问题讨论】:

  • 请做好自己的功课。如果您有特定问题或遇到一些特定问题,请随时在此处发帖,但不要只是丢掉作业。
  • 我已经编辑了我目前拥有的代码...请检查一下
  • 编写代码只是第一步。您想考虑如何测试您所做的事情。比如:编写创建列表的代码。插入数据。打印列表。以此类推。

标签: java linked-list nodes


【解决方案1】:

像下面这样插入方法,做一些测试

public void insert(Node head,int a,int before){
    Node prev = null;
    while(head!=null){
        // Matched at head;
        if(prev==null && head.a==before){
            Node fresh = new Node(a);
            fresh.next=head;
            head=fresh;
            break;
        } else if(head.a==before){
            Node fresh = new Node(a);
            fresh.next=head;
            prev.next = fresh;
            break;
        }
        prev = head.next;
        head = head.next;

    }
}

【讨论】:

  • 哦,太好了,你为他做了所有的工作。不要指望有很多赞成票。
猜你喜欢
  • 2012-08-01
  • 2015-03-20
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 2016-01-19
  • 2010-10-11
  • 1970-01-01
相关资源
最近更新 更多