国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

單鏈表反轉python實現代碼示例

2020-01-04 15:54:50
字體:
來源:轉載
供稿:網友

單鏈表的反轉可以使用循環,也可以使用遞歸的方式

1.循環反轉單鏈表

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

單鏈表反轉,python,實現單鏈表,遞歸實現單鏈表反轉,單鏈表排序,單鏈表逆置

代碼:

class ListNode:   def __init__(self,x):     self.val=x;     self.next=None;  def nonrecurse(head):       #循環的方法反轉鏈表   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; 

結果:

4
3
2
1
>>>

2.遞歸實現單鏈表反轉

class ListNode:   def __init__(self,x):     self.val=x;     self.next=None;     def recurse(head,newhead):  #遞歸,head為原鏈表的頭結點,newhead為反轉后鏈表的頭結點   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; 

運行結果同上。

總結

以上就是本文關于單鏈表反轉python/278901.html">python/204634.html">python/303708.html">python實現代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彩票| 滁州市| 望奎县| 彰化市| 西林县| 靖宇县| 游戏| 龙川县| 密山市| 许昌市| 岚皋县| 嘉善县| 龙山县| 沐川县| 文登市| 沈丘县| 二连浩特市| 昌邑市| 阳新县| 济南市| 长治县| 鄄城县| 嘉义市| 清水河县| 铅山县| 视频| 咸宁市| 西华县| 孝感市| 云浮市| 南溪县| 龙口市| 保德县| 盐津县| 莱州市| 巴塘县| 江城| 湾仔区| 东安县| 静宁县| 卢龙县|