给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入:s = “Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
func reverseWords(s string) string {
n :=len(s)
tar := make([]byte,n)
for i:=0;i<len(s);{
start := i
for i<n && s[i] != ' '{
i++
}
if i != start{
swap(tar,s,start,i-1)
}
for i<n && s[i] == ' '{
tar[i] = ' '
i++
}
}
return string(tar)
}
func swap(tar []byte , s string ,low ,high int){
for i,j:= low,high; i<= high;{
tar[i] = s[j]
i++
j--
}
}
嵌套for循环简化逻辑,别总想地一层循环,首尾指针,费劲