面试题5:从尾到头打印链表
2017-02-12 22:37
381 查看
面试题5:从尾到头打印链表
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
代码:
package offer;
import java.util.ArrayList;
import java.util.Stack;
/**
* 面试题5:从尾到头打印链表
* 输入一个链表,从尾到头打印链表每个节点的值。
*/
public class _05_linked {
public static void main(String[] args) {
ListNode head = new ListNode(12);
ListNode current=head;
current.next=new ListNode(23);
current.next.next=new ListNode(34);
current.next.next.next=new ListNode(45);
current.next.next.next.next=new ListNode(56);
Solution05 solution05 = new Solution05();
ArrayList<Integer> li=solution05.printListFromTailToHead(head);
for(Integer in:li){
System.out.println(in);
}
}
}
class Solution05 {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> li = new ArrayList<Integer>();
Stack<Integer> stack = new Stack<Integer>();
if(listNode==null){
return li;
}
stack.push(listNode.value);
while (listNode.next!=null){
listNode=listNode.next;
stack.push(listNode.value);
}
while(!stack.empty()){
li.add(stack.pop());
}
return li;
}
}
class ListNode {
int value;
ListNode next = null;
ListNode(int value) {
this.value = value;
}
}
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
代码:
package offer;
import java.util.ArrayList;
import java.util.Stack;
/**
* 面试题5:从尾到头打印链表
* 输入一个链表,从尾到头打印链表每个节点的值。
*/
public class _05_linked {
public static void main(String[] args) {
ListNode head = new ListNode(12);
ListNode current=head;
current.next=new ListNode(23);
current.next.next=new ListNode(34);
current.next.next.next=new ListNode(45);
current.next.next.next.next=new ListNode(56);
Solution05 solution05 = new Solution05();
ArrayList<Integer> li=solution05.printListFromTailToHead(head);
for(Integer in:li){
System.out.println(in);
}
}
}
class Solution05 {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> li = new ArrayList<Integer>();
Stack<Integer> stack = new Stack<Integer>();
if(listNode==null){
return li;
}
stack.push(listNode.value);
while (listNode.next!=null){
listNode=listNode.next;
stack.push(listNode.value);
}
while(!stack.empty()){
li.add(stack.pop());
}
return li;
}
}
class ListNode {
int value;
ListNode next = null;
ListNode(int value) {
this.value = value;
}
}
相关文章推荐
- 剑指Offer面试题5(Java版):从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 《剑指Offer》面试题:从尾到头打印链表
- 面试题 -- 从尾到头 反向打印链表
- 面试题5:从尾到头打印链表
- 《剑指offer》面试题5:从尾到头打印链表
- 《剑指Offer》面试题5:从尾到头打印链表
- 【剑指Offer学习】【面试题5 : 从尾到头打印链表】
- 剑指offer面试题5-从尾到头打印链表/6-重建二叉树
- 面试题---从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表的c++代码实现
- 面试题五:从尾到头打印链表|剑指offer
- 剑指offer 面试题5 从尾到头打印链表(递归实现)
- 面试题5:从从尾到头打印链表
- 海涛老师的面试题-作业5-从尾到头打印链表
- 【面试题五】从尾到头打印链表
- P51、面试题5:从尾到头打印链表
- 剑指offfer面试题5:从尾到头打印链表
- 【C语言】单链表的相关热点面试题(包括:从尾到头打印,逆置,冒泡,寻找中间节点,倒数k节点)