剑指offer | 左旋字符串

2019-07-31  本文已影响0人  icebreakeros

左旋字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部

示例
输入:helloworld3
输出:loworldhel

输入:helloworld13
输出:loworldhel

public class LeftRotateString {

    public String leftRotate(String str, int k) {
        if (Optional.ofNullable(str).isEmpty() || str.length() == 0 ||
                k < 0 || (k % str.length()) == 0) {
            return str;
        }

        StringBuffer sb = new StringBuffer();
        k = k % str.length();
        int i = k;
        while (i < str.length()) {
            sb.append(str.charAt(i++));
        }
        i = 0;
        while (i < k) {
            sb.append(str.charAt(i++));
        }
        return sb.toString();
    }
}
上一篇下一篇

猜你喜欢

热点阅读