我偶然發現了一個奇怪的問題,即在Java中向第三個鏈表中添加兩個鏈表,第一個鏈表「myList1」,第二個鏈表「myList2」一個「myList3」。我無法將一個節點添加到空列表中
該組合方法應該是將第一個LinkedList「myList1」,然後是第二個「myList2」添加到第三個LinkedList「myList3」中,但是我遇到了將它們添加到第三個列表時遇到的問題,但它是空的,但是如果第三個列表至少有一個元素,每件事情都順利進行。
代碼:
Node current = myList1.head;
while (current != null) {
Node newcurrent = myList3.head;
int h1 = current.getData();
Node newNode = new Node(h1);
if (newcurrent == null)
//the problem is with this code
newcurrent = newNode;
else {
if (newcurrent.getLink() == null) {
newNode.setLink(newcurrent.getLink());
newcurrent.setLink(newNode);
} else {
Node current11 = newcurrent;
while (current11.getLink() != null) {
current11 = current11.getLink();
}
current11.setLink(newNode);
}
}
current = current.getLink();
}
節點不會被添加到第三鏈表如果第三列表是空的,我試過很多其他的代碼,但它也不能工作,但如果我至少進入一個元素到第三個LinkedList的列表通常會被添加。
其他碼我嘗試:
newcurrent.setLink(newNode);
和
newNode = newcurrent;
newcurrent = newNode;
和
newNode.setLink(newcurrent);
newcurrent.setLink(newNode);
和
newNode.link = newcurrent;
newcurrent.link = newNode;
從您的代碼中刪除空白行。 – Juvanis
@DelShekasteh我做過。 – kamaci
如果您正確縮進代碼,就會更容易跟蹤,維護和調試。 – iamnotmaynard