zoukankan      html  css  js  c++  java
  • 61. 旋转链表-leetcode

    给定一个链表,旋转链表,将链表每个节点向右移动 个位置,其中 是非负数。

    示例 1:

    输入: 1->2->3->4->5->NULL, k = 2
    输出: 4->5->1->2->3->NULL
    解释:
    向右旋转 1 步: 5->1->2->3->4->NULL
    向右旋转 2 步: 4->5->1->2->3->NULL
    

    示例 2:

    输入: 0->1->2->NULL, k = 4
    输出: 2->0->1->NULL
    解释:
    向右旋转 1 步: 2->0->1->NULL
    向右旋转 2 步: 1->2->0->NULL
    向右旋转 3 步: 0->1->2->NULL
    向右旋转 4 步: 2->0->1->NULL

    /**
     * Definition for singly-linked list.
     * type ListNode struct {
     *     Val int
     *     Next *ListNode
     * }
     */
    
    func rotateRight(head *ListNode, k int) *ListNode {
        if head == nil||k==0{
            return head 
        }
        
        num:=0
        var rear *ListNode
        for p:=head;p!=nil;p=p.Next{
            num++
            rear = p
        }
    
    
        k = k%num
        if k==0{
            return head 
        }
        var p,r *ListNode
        p=head
        for i:=0;i<num-k;i++{
            r=p
            p=p.Next
        }
        r.Next = nil
        rear.Next=head
        head = p 
    
    
        return head
    }
  • 相关阅读:
    Java--数组转成list,list转数组
    js禁用后退
    正则
    实用符号Alt+小键盘快输
    Minimum Depth of Binary Tree
    Balanced Binary Tree
    Valid Palindrome [leetcode]
    Sum Root to Leaf Numbers
    reorder List
    判断链表 有环
  • 原文地址:https://www.cnblogs.com/fwdqxl/p/9353289.html
Copyright © 2011-2022 走看看