zoukankan      html  css  js  c++  java
  • 61. Rotate List

    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.

    题目含义:从列表的末尾依次翻转k个元素到头部

     1     public ListNode rotateRight(ListNode head, int k) {
     2         if (head==null||head.next==null) return head;
     3         ListNode dummy=new ListNode(0);
     4         dummy.next=head;
     5         ListNode fast=dummy,slow=dummy;
     6         int length=0;
     7         while (fast.next!=null)
     8         {
     9             length++;
    10             fast = fast.next;
    11         }
    12         for (int j=length-k%length;j>0;j--) //Get the i-n%i th node
    13             slow=slow.next;
    14         fast.next=dummy.next; //Do the rotation
    15         dummy.next=slow.next;
    16         slow.next=null;
    17         return dummy.next;     
    18     }
  • 相关阅读:
    Python with
    Python else
    Python list
    The Python Debugger Pdb
    RPM 包
    yum
    OpenStack I18N
    Python unittest
    MySQL 行格式
    MySQL 行溢出数据
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7724501.html
Copyright © 2011-2022 走看看