剑指offer|面试题5:从尾到头打印链表(Java代码)
2016-11-20 14:07
459 查看
面试题5:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每一个结点的值。
这个题目可以有三种做法:
1)递归
2)用到栈
3)存储到数组或者其他容器,然后倒着遍历(不好)
主要实现递归和利用栈的两种方式:
Java代码实现如下:
import java.util.Stack;
public class Solution{
//递归的方式
public static void showRevertNode(ListNode head){
if(head==null){
return;
}
showRevertNode(head.next);
System.out.println(head.data);
}
//利用栈的方式
public static void showRevertNode2(ListNode head){
if(head==null){
return;
}
Stack<ListNode> stack = new Stack<>();
while(head!=null){
stack.push(head);
head = head.next;
}
while(!stack.isEmpty()){
ListNode tempNode = stack.pop();
System.out.println(tempNode.data);
}
}
public static void main(String[] args){
ListNode head = new ListNode(0);
head.next = new ListNode(1);
head.next.next = new ListNode(2);
showRevertNode2(head);
}
}
class ListNode{
int data;
ListNode next;
public ListNode(int data){
this.data = data;
}
}
题目:输入一个链表的头结点,从尾到头反过来打印出每一个结点的值。
这个题目可以有三种做法:
1)递归
2)用到栈
3)存储到数组或者其他容器,然后倒着遍历(不好)
主要实现递归和利用栈的两种方式:
Java代码实现如下:
import java.util.Stack;
public class Solution{
//递归的方式
public static void showRevertNode(ListNode head){
if(head==null){
return;
}
showRevertNode(head.next);
System.out.println(head.data);
}
//利用栈的方式
public static void showRevertNode2(ListNode head){
if(head==null){
return;
}
Stack<ListNode> stack = new Stack<>();
while(head!=null){
stack.push(head);
head = head.next;
}
while(!stack.isEmpty()){
ListNode tempNode = stack.pop();
System.out.println(tempNode.data);
}
}
public static void main(String[] args){
ListNode head = new ListNode(0);
head.next = new ListNode(1);
head.next.next = new ListNode(2);
showRevertNode2(head);
}
}
class ListNode{
int data;
ListNode next;
public ListNode(int data){
this.data = data;
}
}
相关文章推荐
- 【剑指offer】面试题5:从尾到头打印链表 java
- 剑指offer|面试题5:从尾到头打印链表(Java实现)
- 剑指offer面试题5 从尾到头打印链表(java实现)
- <剑指offer 面试题6-2>从尾到头打印链表 Java
- 剑指offer 面试题5 从尾到头打印链表 java版答案
- 剑指offer(java代码)——从尾到头打印链表
- 剑指Offer:面试题5——从尾到头打印链表(java实现)
- 剑指offer题解【从尾到头打印链表】-java
- 剑指Offer----面试题五:从尾到头打印链表
- 【剑指offer】面试题五:从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 【剑指offer-Java版】05从尾到头打印链表
- 面试题五:从尾到头打印链表|剑指offer
- 剑指Offer面试题:4.从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 剑指Offer—— 题5 从尾到头打印链表 Java版
- 剑指offer面试题5 从头到尾打印链表(java)
- 剑指offer面试题java实现之题5:逆序打印链表
- 【剑指Offer面试题】 九度OJ1511:从尾到头打印链表
- 剑指offer面试题5-从尾到头打印链表/6-重建二叉树