Rotate List Python Leetcode
2015-01-23 09:41
441 查看
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
这题的做法是先遍历一遍把这个链表的头和尾联起来,同时计算总长度count,然后再走 count-k布。
把这里记为新的head 返回。
这里有点要注意,有时候k的值会远大于count所以要 dif=count-k%count
代码如下。# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# @param head, a ListNode
# @param k, an integer
# @return a ListNode
def rotateRight(self, head, k):
if not head or k==0:
return head
dummy=ListNode(0)
dummy.next=head
p=dummy
count=0
while p.next:
p=p.next
count+=1
p.next=dummy.next
dif=count-k%count
while dif>0:
p=p.next
dif-=1
head=p.next
p.next=None
return head
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
这题的做法是先遍历一遍把这个链表的头和尾联起来,同时计算总长度count,然后再走 count-k布。
把这里记为新的head 返回。
这里有点要注意,有时候k的值会远大于count所以要 dif=count-k%count
代码如下。# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# @param head, a ListNode
# @param k, an integer
# @return a ListNode
def rotateRight(self, head, k):
if not head or k==0:
return head
dummy=ListNode(0)
dummy.next=head
p=dummy
count=0
while p.next:
p=p.next
count+=1
p.next=dummy.next
dif=count-k%count
while dif>0:
p=p.next
dif-=1
head=p.next
p.next=None
return head
相关文章推荐
- [LeetCode]题解(python):061-Rotate List
- 【Leetcode】【python】Rotate List
- [Leetcode]61. Rotate List @python
- leetcode Rotate list (链表旋转)的python实现
- [LeetCode]Rotate List@python
- [leetcode]Rotate List @ Python
- LeetCode 61. Rotate List(Python详解及实现)
- LeetCode 61. Rotate List---Python实现
- 【LEETCODE】61- Rotate List [Python]
- leetcode 【Rotate List 】python 实现
- LeetCode 61 — Rotate List(C++ Java Python)
- Leetcode rotate list
- LeetCode:Rotate List
- Leetcode rotate list
- 【LeetCode with Python】 Remove Duplicates from Sorted List
- [LeetCode]Rotate List
- LeetCode题解:Rotate List
- [leetcode] Rotate List
- [leetcode]Rotate List
- LeetCode Rotate List 分析解答