classSolution{publicint[][]generateMatrix(int n){int l =0, r = n -1, t =0, b = n -1;int[][] mat =newint[n][n];int num =1, tar = n * n;while(num <= tar){for(int i = l; i <= r; i++) mat[t][i]= num++;// left to right.
t++;for(int i = t; i <= b; i++) mat[i][r]= num++;// top to bottom.
r--;for(int i = r; i >= l; i--) mat[b][i]= num++;// right to left.
b--;for(int i = b; i >= t; i--) mat[i][l]= num++;// bottom to top.
l++;}return mat;}}
```java
classSolution{public ListNode rotateRight(ListNode head,int k){// base casesif(head == null)return null;if(head.next == null)return head;// close the linked list into the ring
ListNode old_tail = head;int n;for(n =1; old_tail.next != null; n++)
old_tail = old_tail.next;
old_tail.next = head;// find new tail : (n - k % n - 1)th node// and new head : (n - k % n)th node
ListNode new_tail = head;for(int i =0; i < n - k % n -1; i++)
new_tail = new_tail.next;
ListNode new_head = new_tail.next;// break the ring
new_tail.next = null;return new_head;}}