中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python怎么對單鏈表進行反轉

發布時間:2021-02-23 15:50:49 來源:億速云 閱讀:170 作者:戴恩恩 欄目:開發技術

本文章向大家介紹利用python怎么對單鏈表進行反轉,主要包括利用python怎么對單鏈表進行反轉的使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

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怎么對單鏈表進行反轉的文章就介紹到這了,更多相關的內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石狮市| 井研县| 张掖市| 视频| 凤台县| 武城县| 鄢陵县| 栖霞市| 永安市| 安义县| 绥化市| 彰武县| 汉沽区| 南华县| 连城县| 邢台县| 井冈山市| 石嘴山市| 建阳市| 竹山县| 双流县| 和林格尔县| 措美县| 滨海县| 神农架林区| 察隅县| 安多县| 陕西省| 恩平市| 凌云县| 丰都县| 老河口市| 旺苍县| 丰县| 新乐市| 乐山市| 兴业县| 新余市| 正蓝旗| 新宾| 增城市|