单链表的遍历和逆转

来源:互联网 发布:oracle sql select as 编辑:程序博客网 时间:2024/06/05 21:12
public class Test {


public static void main(String[] args) {


LNode linklist = new LNode("a");
LNode b = new LNode("b");
LNode c = new LNode("c");
LNode d = new LNode("d");
LNode e = new LNode("e");
LNode f = new LNode("f");
linklist.setNext(b);
b.setNext(c);
c.setNext(d);
d.setNext(e);
e.setNext(f);
f.setNext(null);
visit(linklist);
visit(reverse(linklist));


}


public static void visit(LNode linklist) {
LNode p = linklist;
while (p != null) {
System.out.println(p.getContent());
p = p.getNext();
}
}


public static LNode reverse(LNode linklist) {
if (linklist == null)
return linklist;
LNode head = linklist;
LNode previous = null;
while(head!=null)
{
LNode temp = head.getNext();
head.setNext(previous);
previous = head ;
head = temp;
}
return previous ;

}


}


class LNode {
String content;
LNode next;


public LNode(String content) {
this.content = content;
}


public String getContent() {
return content;
}


public void setContent(String content) {
this.content = content;
}


public LNode getNext() {
return next;
}


public void setNext(LNode next) {
this.next = next;
}


}
0 0
原创粉丝点击