最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)反轉(zhuǎn)部分單向鏈表

 更新時間:2018年09月27日 15:58:43   作者:冬日新雨  
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)反轉(zhuǎn)部分單向鏈表,具有一定的參考價值,感興趣的小伙伴們可以參考一下

題目:

給定一個單鏈表的頭指針 head, 以及兩個整數(shù) a 和 b,在單鏈表中反轉(zhuǎn) linked_list[a-b] 的結(jié)點,然后返回整個鏈表的頭指針。
例如:
單鏈表[1000, 5, 12, 100, 45, ‘cecil', 999],
a = 4, b = 6,
返回的鏈表是[1000, 5, 12, 100, 999, ‘cecil', 45],也就是說,
a 和 b分別為索引值。如果a 和 b 超過了索引范圍就返回錯誤。

代碼:

我寫的不夠簡潔,比較繁瑣,但是能跑通,繁瑣的原因在于我使用了 for 循環(huán),對于 a == 0 的情況 for 循環(huán)無法識別。

  def reverse_part_linked_list(head, a, b): # 反轉(zhuǎn)部分鏈表結(jié)點,a, b分別為索引值
    if head == 0:
      print "Empty linked list. No need to reverse."
      return head
    p = head
    length = 1
    while p != 0:
      length += 1
      p = p.next
    if length == 1:
      print "No need to reverse."
      return head
    if a < 0 or b > length-1 or a >= b:
      raise Exception("The given 'from' value and 'to' value is wrong.")
    p = head

    if a == 0: # 由于 for 循環(huán)中 xrange 的范圍問題,我就分情況寫了。
      tail, head = p, p
      pre = 0
      for _ in xrange(a, b+1):
        p = p.next
        head.next = pre
        pre = head
        head = p
      tail.next = p
      return head
    else:
      for _ in xrange(1, a):
        p = p.next
      front, tail, head = p, p, p
      p = p.next
      pre = 0
      for _ in xrange(a+1, b+2):
        p = p.next
        head.next = pre
        pre = head
        head = p
      front.next = pre
      tail.next = p
      return head

分析:

核心依然是反轉(zhuǎn)鏈表的指針問題,均是一遍循環(huán),時間復(fù)雜度o(n),空間復(fù)雜度為若干個變量。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python列表操作使用示例分享

    python列表操作使用示例分享

    這篇文章主要介紹了python列表操作使用示例,需要的朋友可以參考下
    2014-02-02
  • pytorch中常用的損失函數(shù)用法說明

    pytorch中常用的損失函數(shù)用法說明

    這篇文章主要介紹了pytorch中常用的損失函數(shù)用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 使用jupyter notebook輸出顯示不完全的問題及解決

    使用jupyter notebook輸出顯示不完全的問題及解決

    這篇文章主要介紹了使用jupyter notebook輸出顯示不完全的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 利用Python求陰影部分的面積實例代碼

    利用Python求陰影部分的面積實例代碼

    這篇文章主要給大家介紹了關(guān)于利用Python求陰影部分面積的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 詳解Python設(shè)計模式編程中觀察者模式與策略模式的運用

    詳解Python設(shè)計模式編程中觀察者模式與策略模式的運用

    這篇文章主要介紹了Python設(shè)計模式編程中觀察者模式與策略模式的運用,觀察者模式和策略模式都可以歸類為結(jié)構(gòu)型的設(shè)計模式,需要的朋友可以參考下
    2016-03-03
  • Python接口自動化之接口依賴

    Python接口自動化之接口依賴

    這篇文章主要介紹了python接口自動化測試之接口數(shù)據(jù)依賴的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-08-08
  • AI生成圖片Stable?Diffusion環(huán)境搭建與運行方法

    AI生成圖片Stable?Diffusion環(huán)境搭建與運行方法

    Stable?Diffusion是一種基于擴(kuò)散過程的生成模型,由Ge?et?al.在2021年提出,該模型利用了隨機(jī)變量的穩(wěn)定分布,通過遞歸地應(yīng)用擴(kuò)散過程來生成高質(zhì)量的圖像,這篇文章主要介紹了AI圖片生成Stable?Diffusion環(huán)境搭建與運行,需要的朋友可以參考下
    2023-05-05
  • 在paddle中安裝python-bidi出錯問題及解決

    在paddle中安裝python-bidi出錯問題及解決

    在Paddle中安裝python-bidi時遇到Rust和Cargo缺失的問題,通過安裝舊版本的python-bidi(0.4.0)解決了問題
    2025-02-02
  • Python隊列的定義與使用方法示例

    Python隊列的定義與使用方法示例

    這篇文章主要介紹了Python隊列的定義與使用方法,結(jié)合具體實例形式分析了Python定義及使用隊列的具體操作技巧與注意事項,需要的朋友可以參考下
    2017-06-06
  • Python裝飾器使用示例及實際應(yīng)用例子

    Python裝飾器使用示例及實際應(yīng)用例子

    這篇文章主要介紹了Python裝飾器使用示例及實際應(yīng)用例子,本文給出了斐波拉契數(shù)列、注冊回調(diào)函數(shù)、mysql封裝、線程異步等實際使用示例,需要的朋友可以參考下
    2015-03-03

最新評論

吉水县| 闽侯县| 顺昌县| 台前县| 梅州市| 新乡县| 揭阳市| 荆州市| 古丈县| 麦盖提县| 罗平县| 宣汉县| 信宜市| 衡水市| 靖远县| 枝江市| 尚义县| 大竹县| 桦南县| 凤庆县| 梅河口市| 泗阳县| 正宁县| 通州市| 白水县| 尚志市| 海口市| 上蔡县| 宜良县| 正镶白旗| 麻城市| 商洛市| 岢岚县| 山东省| 云龙县| 乳源| 色达县| 印江| 平定县| 松溪县| 新余市|