您的位置:首页 > Web前端

剑指offer02--入栈和出栈

2016-05-16 22:50 471 查看
题目:根据输入链表的头结点,从尾到头反过来打印每个结点的元素值。

这个题目虽然说是队列,但是很明显是一个栈那。

自己是一点思路都木有啊,最后还是根据别的代码来最终得到的。

<span style="font-size:18px;">package 剑指offer;
import java.util.*;
//题目:输入个链表的头结点,从尾到头反过来打印出每个结点的值。
public class Test05 {
public static void main(String args[]){
ListNode root = new ListNode();
root.val = 1;
root.next = new ListNode();
root.next.val = 2;
root.next.next = new ListNode();
root.next.next.val = 3;
// 最笨的链表初始化

//        for(int i = 0; i < 3; i++){
//        	root.val = i;
//        	root.next = new ListNode();
//        	root = root.next;
//        }

listInsert(root);
System.out.println();
listOutput(root);
}

public static class ListNode{
int val;
ListNode next;
}

public static void listInsert(ListNode root){
Stack<ListNode> stack = new Stack<ListNode>();
while(root != null){
stack.push(root);
root = root.next;
}
ListNode tmp;
while (!stack.isEmpty()) {
tmp = stack.pop();
System.out.print(tmp.val + " ");
}
}

public static void listOutput(ListNode root){
if(root != null){

listOutput(root.next);
System.out.print(root.val+" ");
}
}
}  </span>



巩固基础,勤加练习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: