我是Java的初學(xué)者。我正在鏈表中實(shí)現(xiàn)遞歸以按相反的順序打印元素,但我認(rèn)為我的代碼中存在語義錯誤,請?zhí)崆皺z查我的代碼(尤其是反向方法)。輸出:78 30 52發(fā)送后,從頭開始您需要插入包裝練習(xí)的物品計(jì)數(shù);public class Linkedlist { Node head; public Linkedlist() { head = null; } public void insert(int data) { Node obj1 = new Node(data); obj1.next = head; head = obj1; } public void append(int data) { Node newn = new Node(data); if (head == null) { newn.next = null; head = newn; return; } Node n = head; while (n.next != null) { n = n.next; } newn.next = null; n.next = newn; } void delete(int data) { if (head == null) { return; } else if (head.data == data) { head = head.next; return; } Node curr = head; while (curr.next != null) { if (curr.next.data == data) { curr.next = curr.next.next; } curr = curr.next; } } void insertAt(int count, int data) { Node h = head; if (count == 0) { this.insert(data); return; } while (h.next != null) { if (count == 0) { Node f = new Node(data); f = h.next; h = f; return; } count--; h = h.next; } } public void reverse() { if (head == null) { System.out.println("null"); } else { this.reverseRecursive(head); } } private void reverseRecursive(Node nod) { if (nod == null) { return; } reverseRecursive(nod.next); System.out.print(nod.data + " "); } class Node { Node next; int data; public Node(int data) { this.data = data; } }
2 回答

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
在您的LinkedList中,而不是使用insert方法(該方法在頭部添加一個(gè)元素),請使用append方法,該方法在LinkedList的末尾添加該元素,然后調(diào)用反向方法。
添加回答
舉報(bào)
0/150
提交
取消