不改变链表的结构,从尾到头打印链表需要用栈实现这个函数,而递归的本质就是一个栈结构。
如果链表过长,可能会导致函数调用栈溢出。
栈实现:
package tao.leetcode;
/**
* Created by Tao on 2017/7/30.
*/
public class MyLeetcode {
public static void main(String[] args) {
ListNode head = new ListNode(1);
ListNode node2 = new ListNode(2);
ListNode node3 = new ListNode(3);
ListNode node4 = new ListNode(4);
head.next = node2;
node2.next = node3;
node3.next = node4;
myprintln(head);
}
private static void myprintln(ListNode head) {
if (head.next != null) {
myprintln(head.next);
}
System.out.println(head.val);
}
}