当前位置:网站首页>【日常訓練--騰訊精選50】557. 反轉字符串中的單詞 III
【日常訓練--騰訊精選50】557. 反轉字符串中的單詞 III
2022-07-05 08:37:00 【Puppet__】
題目
給定一個字符串 s ,你需要反轉字符串中每個單詞的字符順序,同時仍保留空格和單詞的初始順序。
示例 1:
輸入:s = “Let’s take LeetCode contest”
輸出:“s’teL ekat edoCteeL tsetnoc”
示例 2:
輸入: s = “God Ding”
輸出:“doG gniD”
提示:
1 <= s.length <= 5 * 104
s 包含可打印的 ASCII 字符。
s 不包含任何開頭或結尾空格。
s 裏 至少 有一個詞。
s 中的所有單詞都用一個空格隔開
代碼
package tencent50;
public class leetcode557 {
// 使用額外空間,並通過原字符串中的空格將切分為多段,每段進行翻轉
public String reverseWords(String s) {
StringBuffer sb = new StringBuffer();
int len = s.length();
int i = 0;
while( i < len){
int start = i;
// 先找空格在哪裏
while (i < len && s.charAt(i) != ' '){
i++;
}
// 將單詞翻轉
for (int j = i - 1; j >= start; j--){
sb.append(s.charAt(j));
}
//跳過之後的空格
while (i < len && s.charAt(i) == ' '){
i++;
sb.append(' ');
}
}
return sb.toString();
}
public static void main(String[] args) {
leetcode557 obj = new leetcode557();
System.out.println(obj.reverseWords("Let's take LeetCode contest"));
}
}
边栏推荐
猜你喜欢
随机推荐
Void* C is a carrier for realizing polymorphism
实例005:三数排序 输入三个整数x,y,z,请把这三个数由小到大输出。
Reasons for the insecurity of C language standard function scanf
2022.7.4-----leetcode. one thousand and two hundred
How to write cover letter?
猜谜语啦(10)
Esphone Feixun DC1 soft change access homeassstant
Illustration of eight classic pointer written test questions
每日一题——替换空格
MySQL之MHA高可用集群
Go dependency injection -- Google open source library wire
猜谜语啦(2)
【NOI模拟赛】汁树(树形DP)
Charge pump boost principle - this article will give you a simple understanding
MATLAB小技巧(28)模糊综合评价
UE pixel stream, come to a "diet pill"!
实例002:“个税计算” 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.
Detailed summary of FIO test hard disk performance parameters and examples (with source code)
第十八章 使用工作队列管理器(一)
猜谜语啦(9)