从尾到头打印链表
从尾到头打印链表
http://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035
递归
import java.util.ArrayList; public class Solution { ArrayList<Integer> res = new ArrayList<>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { recur(listNode); return res; } public void recur(ListNode listNode){ if(listNode == null) return; recur(listNode.next); res.add(listNode.val); } }
时间复杂度 O(n)
空间复杂度 O(n)
非递归
import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> res = new ArrayList<>(); ListNode tmp = listNode; while(tmp != null){ res.add(0, tmp.val); tmp = tmp.next; } return res; } }
时间复杂度 O(n)
空间复杂度 O(n)
剑指Offer题解 文章被收录于专栏
为了之后反复练习方便查阅。