我如何糾正我的 addFirst 方法以及如何使我的 removeFirst 方法工作,因?yàn)樗粫h除?我應(yīng)該如何實(shí)施?public class LinkedList{ public static void main(String[] args) { LinkedList l = new LinkedList(); l.addFirst("c"); //l.removeFirst("m"); l.addFirst("b"); System.out.println(l.first.data); System.out.println(l.first.data); } public Node first; static class Node { String data; Node next; } private void addFirst(String s){ Node newNode = new Node(); newNode.data=s; newNode.next=first; first= newNode; } private void removeFirst(String s){ //Node n1 = new Node(); first.next = null; }}我希望結(jié)果是:b c但僅b被打印。
2 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
您正在打印相同的值兩次,請嘗試以下操作:
System.out.println(l.first.next.data);
在鏈表類中,第一個(gè)(或頭)節(jié)點(diǎn)將包含下一個(gè)節(jié)點(diǎn),因此您必須調(diào)用第一個(gè)節(jié)點(diǎn),然后調(diào)用下一個(gè)節(jié)點(diǎn)數(shù)據(jù)。
例子:
LinkedList l = new LinkedList();
l.addFirst("c");
l.addFirst("b");
l.addFirst("z");
System.out.println(l.first.data);
System.out.println(l.first.next.data);
System.out.println(l.first.next.next.data);

三國紛爭
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
除 main 之外的每個(gè)函數(shù)都返回鏈表。添加或刪除節(jié)點(diǎn)后,您必須在主函數(shù)中返回鏈表,然后您可以打印整個(gè)鏈表
添加回答
舉報(bào)
0/150
提交
取消