Lintcode: Rotate String

Given a string and an offset, rotate string by offset. (rotate from left to right)



Example

Given "abcdefg"



for offset=0, return "abcdefg"



for offset=1, return "gabcdef"



for offset=2, return "fgabcde"



for offset=3, return "efgabcd"

需要注意的是:if (A.length == 0) return new char[0]; 空数组

 1 public class Solution {

 2     /*

 3      * param A: A string

 4      * param offset: Rotate string with offset.

 5      * return: Rotated string.

 6      */

 7     public char[] rotateString(char[] A, int offset) {

 8         // wirte your code here

 9         if (A==null || A.length == 0) return new char[0];

10         String str = new String(A);

11         offset %= str.length();

12         if (offset == 0) return str.toCharArray();

13         String first = str.substring(0, str.length()-offset);

14         String second = str.substring(str.length()-offset);

15         String res = second + first;

16         return res.toCharArray();

17     }

18 };

 

你可能感兴趣的:(String)