0
点赞
收藏
分享

微信扫一扫

Offer58-ii 左旋转字符串

解法一:切片解法

class Solution {
    public String reverseLeftWords(String s, int n) {
        return s.substring(n, s.length()) + s.substring(0, n);
    }
}
  • 时间复杂度:O(N)
  • 空间复杂度:O(N)

解法二:列表

class Solution {
    public String reverseLeftWords(String s, int n) {
        StringBuilder res = new StringBuilder();
        for(int i = n; i < s.length(); i++)
            res.append(s.charAt(i));
        for(int i = 0; i < n; i++)
            res.append(s.charAt(i));
        return res.toString();
    }
}
  • 时间复杂度:O(N)
  • 空间复杂度:O(N)

解法三:字符串

class Solution {
    public String reverseLeftWords(String s, int n) {
        String res = "";
        for(int i = n; i < s.length(); i++)
            res += s.charAt(i);
        for(int i = 0; i < n; i++)
            res += s.charAt(i);
        return res;
    }
}

  • 时间复杂度:O(N)
  • 空间复杂度:O(N)
举报

相关推荐

0 条评论