Skip to content

Commit bec0196

Browse files
committed
输入个链表的头结点,从尾到头反过来打印出每个结点的值
1 parent f618eb6 commit bec0196

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

src/main/java/com/algorithm/study/demo/algorithm/Jianzhi02.java

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.algorithm.study.demo.algorithm;
22

3+
import java.util.LinkedList;
4+
import java.util.List;
35
import java.util.Stack;
46

57
/**
@@ -21,11 +23,28 @@ public ListNode(int e, ListNode next){
2123
}
2224
private int size=0;// 保存已含有的节点数
2325
private ListNode root;
26+
private ListNode last;
2427
public void addFirst(int e){
25-
root=new ListNode(e,root);
28+
ListNode first=root;
29+
ListNode listNode=new ListNode(e,null);
30+
root=listNode;
31+
if (first==null){
32+
last=listNode;
33+
}
34+
size++;
35+
}
36+
public void add(int e){
37+
ListNode temp=last;
38+
if (temp==null){
39+
addFirst(e);
40+
return;
41+
}else{
42+
ListNode node =new ListNode(e,null);
43+
temp.next=node;
44+
last=node;
45+
}
2646
size++;
2747
}
28-
2948
/**
3049
* 从尾到头反过来打印出每个结点的值
3150
*/
@@ -46,11 +65,13 @@ public void printListInverselyUsingIteration() {
4665

4766
public static void main(String[] args) {
4867
Jianzhi02 listnode=new Jianzhi02();
49-
listnode.addFirst(4);
50-
listnode.addFirst(3);
51-
listnode.addFirst(2);
52-
listnode.addFirst(1);
68+
listnode.add(4);
69+
listnode.add(3);
70+
listnode.add(2);
71+
listnode.add(1);
5372
listnode.printListInverselyUsingIteration();
73+
LinkedList linkedList=new LinkedList();
74+
linkedList.add(1);
5475

5576
}
5677
}

0 commit comments

Comments
 (0)