説明タイトルを
入力リンクリスト、ArrayListの頭から尾の順序に従ってリストを返します。
解決策:
1. listNodeがリストで分析するには、唯一の最初から最後までトラバースすることができますが、出力は典型的な「最後のアウト」である尾から頭を求めている、我々はスタックを考えることができます!ArrayListには、追加(インデックス、値)があり、あなたは挿入値の位置のインデックス値を指定することができ
、顔の各値は、リスト0の位置、最終的な出力リストlistNodeを得るために、逆の順序に挿入されている間、我々はlistNodeをトラバース
コードは以下の通りであります:
import java.util.*;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<>();
ListNode tmp = listNode;
while(tmp!=null){
list.add(0,tmp.val);
tmp = tmp.next;
}
return list;
}
}
複雑
- 時間の複雑さ:O(n)はO(n)とO(n)は、
- 宇宙複雑:O(n)はO(n)とO(n)は、
2.分析:スタック印刷
コードは以下の通りであります:
import java.util.*;
public class Solution {
ArrayList<Integer> list = new ArrayList();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null){
printListFromTailToHead(listNode.next);
list.add(listNode.val);
}
return list;
}
}
** **複雑
- 時間の複雑さ:O(n)はO(n)とO(n)は、
- 宇宙複雑:O(n)はO(n)とO(n)は、