思路
code
public ListNode rotateRight(ListNode head, int k) {if(head==null||head.next==null) return head; //特殊条件判断ListNode old_tail = head; //记录原来的尾节点int n=1; //用来记录元素个数for(;old_tail.next!=null;n++)old_tail= old_tail.next; //遍历记录old_tail和nold_tail.next=head; //形成环ListNode new_tail = head; //记录新的尾节点for(int i=0;i<n-k%n-1;i++) //向后遍历n-k次new_tail=new_tail.next;ListNode new_head = new_tail.next; //记录新的头结点new_tail.next=null; //把环断掉return new_head; //返回新的头结点}

