微博:http://www.weibo.com/cathyhwzn
刷题必备书籍:Cracking the Coding Interview: 150 Programming Questions and Solutions
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given
return
Few points here:
1. To notice that no matter how many elements to rotate, the order of the list won't change. So we can connect them as a circle, then find the right place to cut them up.
2. Need to pay attention is the times that we can rotate is more than the length of the list. So we can get the length of list first, then the times to rotate is k%l. But in the loop, we should go len-k%len times.
Given
1->2->3->4->5->NULL
and k = 2
,return
4->5->1->2->3->NULL
.Few points here:
1. To notice that no matter how many elements to rotate, the order of the list won't change. So we can connect them as a circle, then find the right place to cut them up.
2. Need to pay attention is the times that we can rotate is more than the length of the list. So we can get the length of list first, then the times to rotate is k%l. But in the loop, we should go len-k%len times.
No comments:
Post a Comment