链表的结构比较简单,它由指针把若干个节点连接成链状结构。链表的创建。插入删除比较简单。
题目:
输入一个链表的头结点,从尾到头反向打印出每个节点。
java代码
package cn.riversky.demo5;
import java.util.Stack;
/**
* 输入一个链表的头结点,从尾到头反向打印出每个节点。
* @author riversky E-mail:riversky@126.com
* @version 创建时间 : 2018/3/11.
*/
public class Client {
public static Stack<Integer> valuestatic= new Stack<Integer>();
/**
* 递归的方案进行单向链表的打印
* @param head
*/
public static void print1(ListNode head){
if(head!=null){
if(head.next!=null){
print1(head.next);
}
System.out.println(head.value);
}
}
public static void print2(ListNode head){
if(head!=null){
valuestatic.push(head.value);
}
while ((head=head.next)!=null){
valuestatic.push(head.value);
}
while (!valuestatic.empty()){
System.out.println(valuestatic.pop());
}
}
public static void main(String[] args) {
ListNode listNode=new ListNode(3);
listNode.next=new ListNode(4);
listNode.next.next=new ListNode(12);
print1(listNode);
print2(listNode);
}
}
class ListNode{
int value;
ListNode next;
public ListNode(int value) {
this.value = value;
}
}