题目
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
示例 1:
输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
解答
思路:
1.把句子用" "切割为一个数组;
2.分别操作每一个单词;
3.用StringBuilder来存放每一次反转的单词;
4.根据规则加入" ",最后一个单词的后面没有" ";
5.把StringBuilder转换成字符串就是最终的结果。
代码:
/** * 反转一句话中的每一个单词。 *@params : 输入的字符串,每一个单词之间用" "分隔。 *@return: 返回反转后的结果。
*/publicStringreverseWords(String s){//先用“ ”把字符串分成一个数组。
String[] split = s.split(" "); intlen = split.length;
StringBuilder sb =newStringBuilder();
//分别反转每一个单词之后,把结果存到StringBuilder中。
for(inti =0; i < len; i++)
{
for(intj = split[i].length() -1; j >=0; j--)
{ sb.append(split[i].substring(j, j +1));
}//每一个单词之间用" "来分隔。
if(i < len -1) { sb.append(" ");
} }returnsb.toString();}
感谢datawhale的苏老师对我认真负责,比我的学业导师都负责,第二次让老师崔真的很不好意思,这篇发表已经很晚了,明天还是基本上满课,但是中午和下午第二节课我一定把所有时间集中在这上面,把作业在电脑上完成!以后肯定还是会参加的,真的很感谢这个组织的存在!
网友评论