从尾到头打印链表
从尾到头打印链表
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题解 文章被收录于专栏
为了之后反复练习方便查阅。
传音控股公司福利 360人发布