日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【剑指Offer】从尾到头打印链表

發布時間:2025/5/22 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【剑指Offer】从尾到头打印链表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

劍指Offer 從尾到頭打印鏈表

  • 題目描述
    • 解法1
      • 實現代碼
    • 一點補充

題目描述

輸入一個鏈表,按鏈表值從尾到頭的順序返回一個ArrayList。

解法1

這道題主要思路是while循環從頭遍歷整個列表,將每個元素插入到List中,因為要求是從尾到頭,所以每次插入時利用Insert函數不斷將元素插入到第一的位置

實現代碼

public class ListNode {public int val;public ListNode next;public ListNode(int x){val = x;} } public List<int> printListFromTailToHead(ListNode listNode) {List<int> list = new List<int>();while (listNode != null){list.Insert(0, listNode.val);listNode = listNode.next;}return list; }

一點補充

針對C#語言,調用Insert方法的性能消耗會比Add方法多,但如果使用Add方法,最后需要再調用一次Reverse方法進行翻轉。經過多次測試,這兩種方式的性能消耗沒有明顯差距,和測試數據集相關。下面貼上第二種方法實現的代碼。

public List<int> printListFromTailToHeadOptimize(ListNode listNode) {List<int> list = new List<int>();while (listNode != null){list.Add(listNode.val);listNode = listNode.next;}list.Reverse();return list; }

轉載于:https://www.cnblogs.com/iwiniwin/p/10793655.html

總結

以上是生活随笔為你收集整理的【剑指Offer】从尾到头打印链表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。