题目链接:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/
StringBuilder里面append方法可以截取字符串s中一部分
class Solution { public String reverseLeftWords(String s, int n) { StringBuilder sb = new StringBuilder(); sb.append(s,n,s.length()); sb.append(s,0,n); return sb.toString(); } }
我们假设把字符串复制一遍,然后添加到该字符串后面,这样我们就可以从第n个位置开始,截取s的长度个数字符,就是答案,我们实际上不需要复制字符串,而是直接进行取模操作就行,有点像循环队列。
class Solution { public String reverseLeftWords(String s, int n) { StringBuilder res = new StringBuilder(); for(int i = n; i < n + s.length(); i++) res.append(s.charAt(i % s.length())); return res.toString(); } }