题解 | #动态字符串#
动态字符串
http://www.nowcoder.com/practice/e2c51a6f126b41f9be403376c7adea15
题意整理
- 给定一个由英文字母组成的字符串。
- 将字符串改成,从末尾开始每隔三个字母用逗号分隔的形式。
方法一(模拟)
1.解题思路
- 首先新建可变字符串sb,将str加入其中。
- 从后往前循环,每隔三个字符添加一个逗号。
动图展示:
2.代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
//新建可变字符串sb
StringBuilder sb=new StringBuilder();
//将str添加到sb
sb.append(str);
int n=str.length();
//循环
for(int i=n-3;i>0;i-=3){
//从后往前每隔三个字符插入一个逗号
sb.insert(i,",");
}
System.out.println(sb.toString());
}
}
3.复杂度分析
- 时间复杂度:假设字符串长度为n,需要遍历次,所以时间复杂度为。
- 空间复杂度:不需要额外的空间,所以空间复杂度为。
xqxls的题解 文章被收录于专栏
牛客题解