国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 數據結構之旋轉鏈表

Python 數據結構之旋轉鏈表

2020-09-22 08:57guoziqing506 Python

這篇文章主要介紹了Python 數據結構之旋轉鏈表的相關資料,需要的朋友可以參考下

題目描述:給定一個鏈表旋轉鏈表,使得每個節點向右移動k個位置,其中k是一個非負數

樣例:給出鏈表1->2->3->4->5->null和k=2;返回4->5->1->2->3->null

首先,觀察一下這個題目要達到的目的,其實,換一種說法,可以這樣來描述:給出一個k值,將鏈表從倒數第k個節點處起之后的部分移動到鏈表前面,就樣例來說,其實是將4->5這一部分移動到整個鏈表前面,變成4->5->1->2->3->null。不過,需要注意的是,題中沒有給出k的大小,當k比鏈表的長度還大的時候,我們就需要先用k對鏈表的長度求余,比如,如果k = 7,那么上面的例子還是將4->5移動到整個鏈表前面。

所以說,這個題的思路可以這樣來總結:

1. 先求出整個鏈表的長度
2. 根據k值找到需要移動的部分鏈表的前驅(樣例中的3)
3. 在前驅之后將鏈表斷開,移動后半部分

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Definition for singly-linked list.
# class ListNode:
#   def __init__(self, x):
#     self.val = x
#     self.next = None
 
class Solution:
  # @param head: the list
  # @param k: rotate to the right k places
  # @return: the list after rotation
  def rotateRight(self, head, k):
    if head is None:
      return head
    cur = head
    count = 1
    # 計算鏈表長度
    while cur.next:
      cur = cur.next
      count += 1
    # 為節省代碼量,這里是一個很有技巧的處理:用尾節點鏈接頭結點
    cur.next = head
    # 此處,k為cur從尾節點到要斷開部分的前驅需走的步數
    k = count - k % count
    # 找到前驅
    while k != 0:
      cur = cur.next
      k -= 1
    # 斷開
    head = cur.next
    cur.next = None
    # 因為首尾已經相連,所以直接返回前驅后面的那個節點即可,此處引用為head
    return head
    # write your code here

需要注意的是21行首尾相連的技巧,這大大節省了我們的代碼量,其實,就按之前思路中所描述的一步步來,也沒問題。但是這個技巧確實很棒,值得學習。具體的細節我寫在了代碼注釋里。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/guoziqing506/article/details/51365913

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩精品视频在线 | 欧美精品一区二区三区蜜桃视频 | 欧美日韩六区 | 成人免费观看高清视频 | 欧美一级二级三级视频 | 成人久 | 久久久久久久av | 成人毛片在线 | 转生成为史莱姆这档事第四季在线观看 | 日批免费观看视频 | 久久久久久国产精品mv | 中文字幕一区二区三区不卡 | 精品一区欧美 | 日韩欧美在 | 亚洲成av人片在线观看 | 亚洲国产精品成人 | 高清三区 | 亚洲日本韩国在线观看 | 精久久 | 欧美a在线看 | 国产伦精品一区二区三区精品视频 | 亚洲精品电影在线观看 | 久久综合久久综合久久 | 亚洲视频在线观看网址 | 国产专区一区二区三区 | 午夜小视频在线观看 | 国产精品尤物麻豆一区二区三区 | 亚洲视频欧美视频 | 国产成人精品一区二区 | 久草高清在线 | 最近的中文字幕在线看视频 | 激情婷婷丁香 | 国产精品1区2区 | 一区亚洲 | 在线亚洲不卡 | 亚洲aaa | 国内精品久久久久 | 精品日韩一区二区三区 | 欧美日韩久久久 | 玖玖综合网| 免费污污视频在线观看 |