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

單鏈表反轉(zhuǎn)python實現(xiàn)代碼示例

 更新時間:2018年02月08日 11:07:53   作者:零丁若嘆  
這篇文章主要介紹了單鏈表反轉(zhuǎn)python實現(xiàn),分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

單鏈表的反轉(zhuǎn)可以使用循環(huán),也可以使用遞歸的方式

1.循環(huán)反轉(zhuǎn)單鏈表

循環(huán)的方法中,使用pre指向前一個結(jié)點,cur指向當前結(jié)點,每次把cur->next指向pre即可。

代碼:

class ListNode: 
  def __init__(self,x): 
    self.val=x; 
    self.next=None; 
 
def nonrecurse(head):       #循環(huán)的方法反轉(zhuǎn)鏈表 
  if head is None or head.next is None: 
    return head; 
  pre=None; 
  cur=head; 
  h=head; 
  while cur: 
    h=cur; 
    tmp=cur.next; 
    cur.next=pre; 
    pre=cur; 
    cur=tmp; 
  return h; 
   
head=ListNode(1);  #測試代碼 
p1=ListNode(2);   #建立鏈表1->2->3->4->None; 
p2=ListNode(3); 
p3=ListNode(4); 
head.next=p1; 
p1.next=p2; 
p2.next=p3; 
p=nonrecurse(head);  #輸出鏈表 4->3->2->1->None 
while p: 
  print p.val; 
  p=p.next; 

結(jié)果:

4
3
2
1
>>>

2.遞歸實現(xiàn)單鏈表反轉(zhuǎn)

class ListNode: 
  def __init__(self,x): 
    self.val=x; 
    self.next=None; 
 
   
def recurse(head,newhead):  #遞歸,head為原鏈表的頭結(jié)點,newhead為反轉(zhuǎn)后鏈表的頭結(jié)點 
  if head is None: 
    return ; 
  if head.next is None: 
    newhead=head; 
  else : 
    newhead=recurse(head.next,newhead); 
    head.next.next=head; 
    head.next=None; 
  return newhead; 
   
head=ListNode(1);        #測試代碼 
p1=ListNode(2);         # 建立鏈表1->2->3->4->None 
p2=ListNode(3); 
p3=ListNode(4); 
head.next=p1; 
p1.next=p2; 
p2.next=p3; 
newhead=None; 
p=recurse(head,newhead);      #輸出鏈表4->3->2->1->None 
while p: 
  print p.val; 
  p=p.next; 

運行結(jié)果同上。

總結(jié)

以上就是本文關(guān)于單鏈表反轉(zhuǎn)python實現(xiàn)代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Python pandas 重命名索引和列名稱的實現(xiàn)

    Python pandas 重命名索引和列名稱的實現(xiàn)

    本文主要介紹了Python pandas 重命名索引和列名稱的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python全局解釋器GIL鎖機制詳解

    python全局解釋器GIL鎖機制詳解

    我們要知道一點GIL并不是Python的特性,它是Python解釋器Cpython引入的一個概念,下面這篇文章主要給大家介紹了關(guān)于python全局解釋器GIL鎖機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • 在CMD窗口中調(diào)用python函數(shù)的實現(xiàn)

    在CMD窗口中調(diào)用python函數(shù)的實現(xiàn)

    本文主要介紹了在CMD窗口中調(diào)用python函數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python如何爬取個性簽名

    python如何爬取個性簽名

    這篇文章主要為大家詳細介紹了pythonx抓取個性簽名的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python 備份程序代碼實現(xiàn)

    Python 備份程序代碼實現(xiàn)

    這篇文章主要介紹了Python 備份程序代碼實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python實現(xiàn)隨機生成迷宮并自動尋路

    Python實現(xiàn)隨機生成迷宮并自動尋路

    最近在學(xué)習(xí)Python,正好今天在學(xué)習(xí)隨機數(shù),本文實現(xiàn)了Python實現(xiàn)隨機生成迷宮并自動尋路,感興趣的可以了解一下
    2021-06-06
  • Python列表去重的幾種方法整理

    Python列表去重的幾種方法整理

    這篇文章介紹了Python列表去重的幾種方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 跟老齊學(xué)Python之玩轉(zhuǎn)字符串(3)

    跟老齊學(xué)Python之玩轉(zhuǎn)字符串(3)

    字符串是一個很長的話題,縱然現(xiàn)在開始第三部分,但是也不能完全說盡。因為字符串是自然語言中最復(fù)雜的東西,也是承載功能最多的,計算機高級語言編程,要解決自然語言中的問題,讓自然語言中完成的事情在計算機上完成,所以,也不得不有更多的話題。
    2014-09-09
  • Python海象運算符的用法教程

    Python海象運算符的用法教程

    Python 海象運算符是在 PEP 572 中提出,并在 Python3.8 版本并入和發(fā)布。本文就來為大家詳細講講Python海象運算符的用法,感興趣的可以了解一下
    2022-07-07
  • 使用Python為Excel文件添加預(yù)設(shè)和自定義文檔屬性

    使用Python為Excel文件添加預(yù)設(shè)和自定義文檔屬性

    向Excel文件添加文檔屬性是專業(yè)地組織和管理電子表格數(shù)據(jù)的關(guān)鍵步驟,這些屬性,如標題、作者、主題和關(guān)鍵詞,增強了文件的元數(shù)據(jù),使得在大型數(shù)據(jù)庫或文件系統(tǒng)中跟蹤變得更加容易,本文將介紹如何使用Python高效地為Excel文件添加文檔屬性,需要的朋友可以參考下
    2024-05-05

最新評論

浏阳市| 长春市| 柘荣县| 汶上县| 仁化县| 昌平区| 乌鲁木齐市| 奈曼旗| 寿阳县| 满城县| 环江| 平乡县| 木里| 会东县| 顺昌县| 黄梅县| 古浪县| 富源县| 滨州市| 信丰县| 日喀则市| 蓬安县| 绥棱县| 临夏县| 皋兰县| 罗源县| 司法| 清流县| 沾化县| 合川市| 辽宁省| 巴东县| 科技| 固镇县| 西吉县| 泰州市| 苍溪县| 永修县| 安义县| 富阳市| 张北县|