題目
輸入一個鏈表的頭節(jié)點,從尾到頭反過來打印出每個節(jié)點的值。
解題思路 一、棧第一個遍歷的節(jié)點最后一個輸出,而最后一個比遍歷到的節(jié)點第一個輸出(后進先)
public static ArrayList二、遞歸(重點理解)printListFromTailToHead(ListNode listNode){ ArrayList list = new ArrayList<>(); Stack stack = new Stack<>(); while(listNode != null){ stack.push(listNode.val); listNode = listNode.next; } while(!stack.empty()){ list.add(stack.pop()); } return list; }
public ArrayListprintListFromTailToHead(ListNode listNode) { ArrayList ret = new ArrayList<>(); if (listNode != null) { ret.addAll(printListFromTailToHead(listNode.next)); ret.add(listNode.val); } return ret; }
public static void test2(ListNode node){ if(node != null){ if(node.next != null){ test2(node.next); } } System.out.println(node.val); }總結
當鏈表非常長時,常用遞歸的方法會導致函數(shù)調用的層級很深,從而有可能導致函數(shù)調用棧溢出,顯然用棧基于循環(huán)實現(xiàn)的代碼魯棒性更好。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/75525.html
摘要:導航小助手劍指從尾到頭打印鏈表題目詳情解題思路源代碼總結劍指從尾到頭打印鏈表題目詳情輸入一個鏈表的頭節(jié)點,從尾到頭反過來返回每個節(jié)點的值用數(shù)組返回。時間復雜度方法先反轉鏈表并求長度,在將反轉后的鏈表數(shù)據(jù)拷貝至數(shù)組中。 ...
摘要:題目描述輸入一個鏈表,按鏈表值從尾到頭的順序返回一個。最后別忘了,從尾到頭遍歷鏈表,不要忘了將你的結果進行翻轉。 題目描述 輸入一個鏈表,按鏈表值從尾到頭的順序返回一個ArrayList。 分析 要了解鏈表的數(shù)據(jù)結構: val屬性存儲當前的值,next屬性存儲下一個節(jié)點的引用。 要遍歷鏈表就是不斷找到當前節(jié)點的next節(jié)點,當next節(jié)點是null時,說明是最后一個節(jié)點,停止遍歷。 最...
摘要:題目輸入一個鏈表的頭節(jié)點,從尾到頭反過來返回每個節(jié)點的值用數(shù)組返回。 題目輸入一個鏈表的頭節(jié)點,從尾到頭反過來返回每個節(jié)點的值(用數(shù)組返回)。示例 1:輸入:head = [1,3,2]輸出:[2,3,1]限制:0
摘要:面試題從尾到頭打印鏈表輸入一個鏈表,從尾到頭打印鏈表每個節(jié)點的值面試題重建二叉樹輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹并返回。隊列中的元素為類型。其中負數(shù)用補碼表示。 面試題2 單例(之前有整理,略) 面試題3 二維數(shù)組中的查找 public boolean find(int target, int [][] arra...
摘要:一定要認真看分析注釋題目要求題目描述輸入一個鏈表,從尾到頭打印鏈表每個節(jié)點的值。分析因為鏈表只有知道當前結點才能知道下一結點,所以不可能直接從后往前打印。 一定要認真看 分析 | 注釋 | 題目要求 Question 1 題目描述:輸入一個鏈表,從尾到頭打印鏈表每個節(jié)點的值。 分析:因為鏈表只有知道當前結點才能知道下一結點,所以不可能直接從后往前打印。這種逆序的算法(策略)我們常用棧這...
閱讀 5574·2021-11-25 09:43
閱讀 1765·2021-10-27 14:18
閱讀 1124·2021-09-22 16:03
閱讀 1431·2019-08-30 13:19
閱讀 1639·2019-08-30 11:15
閱讀 1782·2019-08-26 14:04
閱讀 3195·2019-08-23 18:40
閱讀 1228·2019-08-23 18:17