2->3->4->5->NULL,m=2,n=4輸出:1->4->3->2->5->NULL2.思路題目要求一趟遍歷。處理鏈表的題,一般會生成一個dummyNode,使得dummyNode指向鏈表的頭結點。另外需要先定位到要反轉鏈表的開始節點,并標記開始節點的前一節點,使得在翻轉的過程中,始終能找到這一節點。假設要反轉的鏈表段如下:1—>2—>3翻轉過" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

LeetCode:翻轉鏈表||(python)

系統 2078 0

1. 題目描述

反轉從位置 m 到 n 的鏈表。請使用一趟掃描完成反轉。

說明:
1 ≤ m ≤ n ≤ 鏈表長度。

示例:

            
              輸入: 1->2->3->4->5->NULL, m = 2, n = 4
輸出: 1->4->3->2->5->NULL

            
          

2. 思路

題目要求一趟遍歷。處理鏈表的題,一般會生成一個dummy Node,使得dummy Node指向鏈表的頭結點。另外需要先定位到要反轉鏈表的開始節點,并標記開始節點的前一節點,使得在翻轉的過程中,始終能找到這一節點。

            
              假設要反轉的鏈表段如下:1—>2—>3
翻轉過程如下:
pre—>1—>2—>3
pre—>2—>1—>3
pre—>3—>2—>1

            
          

2.1 代碼:

            
              
                class
              
              
                Solution
              
              
                :
              
              
                def
              
              
                reverseBetween
              
              
                (
              
              self
              
                ,
              
               head
              
                :
              
               ListNode
              
                ,
              
               m
              
                :
              
              
                int
              
              
                ,
              
               n
              
                :
              
              
                int
              
              
                )
              
              
                -
              
              
                >
              
               ListNode
              
                :
              
              
        dummyNode 
              
                =
              
               ListNode
              
                (
              
              
                -
              
              
                1
              
              
                )
              
              
                # 先生成一個dummy節點
              
              
        dummyNode
              
                .
              
              
                next
              
              
                =
              
               head
        pre 
              
                =
              
               dummyNode
        
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              m
              
                -
              
              
                1
              
              
                )
              
              
                :
              
              
            pre 
              
                =
              
               pre
              
                .
              
              
                next
              
              
                # 定位到開始翻轉鏈表的之前一個節點
              
              
        cur 
              
                =
              
               pre
              
                .
              
              
                next
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              m
              
                ,
              
              n
              
                )
              
              
                :
              
              
                # 開始反轉
              
              
            temp 
              
                =
              
               cur
              
                .
              
              
                next
              
              
            cur
              
                .
              
              
                next
              
              
                =
              
                temp
              
                .
              
              
                next
              
              
            temp
              
                .
              
              
                next
              
              
                =
              
               pre
              
                .
              
              
                next
              
              
            pre
              
                .
              
              
                next
              
              
                =
              
               temp
        
              
                return
              
               dummyNode
              
                .
              
              
                next
              
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 改则县| 阿克陶县| 溧阳市| 多伦县| 卓尼县| 博爱县| 玉林市| 高安市| 榆社县| 拉孜县| 澄迈县| 铜山县| 龙门县| 德江县| 从化市| 南雄市| 高阳县| 瑞金市| 慈利县| 马鞍山市| 区。| 嫩江县| 宁明县| 凌云县| 宝坻区| 嘉峪关市| 修文县| 乐安县| 大连市| 潞城市| 自贡市| 公安县| 绥化市| 永城市| 宁明县| 吉安县| 民权县| 龙岩市| 乐业县| 申扎县| 项城市|