剑指 Offer 58 - I: 翻转单词顺序

这道题一看就是按照空格来进行分割,并且可能有多余的空格剑指 Offer 58 - I: 翻转单词顺序_第1张图片

 这里注意别拼错

剑指 Offer 58 - I: 翻转单词顺序_第2张图片

这里注意是“ ”空格,而不是null!!!那是Object才有的!!

剑指 Offer 58 - I: 翻转单词顺序_第3张图片 

小细节,要严格按照题目要求!!别忘了空格!!!剑指 Offer 58 - I: 翻转单词顺序_第4张图片

别忘记处理最后结尾的那个空格,是不符合要求的,所以可以截取前面n-1个字符串即可。查阅资料发现StringBuilder和String的函数基本上是一样的。deleteCharAt就可以删除指定位置的字符!

StringBuilder delete(int start, int end)
删除此序列的子字符串中的字符。

StringBuilder deleteCharAt(int index)
char按此顺序删除指定位置。

int capacity()
返回当前容量。

剑指 Offer 58 - I: 翻转单词顺序_第5张图片

剑指 Offer 58 - I: 翻转单词顺序_第6张图片 

别忘了可能全是空格!!所以报错!!

剑指 Offer 58 - I: 翻转单词顺序_第7张图片 

 多设置一个判断条件:当结果构造器为空(说明根本没有非空的字符)时,就返回"",这样就不会导致在索引时一直出现错误,toString()和substring()哪个在前哪个在后根本不影响结果。

 

 

你可能感兴趣的:(#,剑指offer,数据结构)