题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。链表节点定义如下:
private static class ListNode {
private int value;
private ListNode next;
public ListNode(int value) {
this.value = value;
}
}
如果只是反过来打印节点的值,那么很简单,只要遍历链表,将节点的值 push
到一个栈里面,因为栈的特点是后进先出,所以最后我们遍历栈,达到的效果就是将链表从尾到头打印,如下
public static void printListReverse(ListNode root) { |
另外一种方法就是使用递归,对于任意一个节点,反过来打印即先打印下一个节点,然后在打印当前节点,如下
public static void printListReverse2(ListNode root) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Coder!
评论