Reverse Words in a String III
s
qatori berilgan boʻlsa, boʻsh joy va boshlangʻich soʻz tartibini saqlab qolgan holda, gap ichidagi har bir soʻzdagi belgilar tartibini teskari oʻzgartiring.
Example 1:
Input: s = "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"
Example 2:
Input: s = "Mr Ding"
Output: "rM gniD"
Cheklovlar
1 <= s.length <= 5 * 10^4
s
bosib chiqarish mumkin bo'lgan ASCII belgilarni o'z ichiga oladi.s
hech qanday oldingi yoki keyingi bo'shliqlarni o'z ichiga olmaydi.s
ichida kamida bitta so'z bor.S
harfidagi barcha so'zlar bitta bo'sh joy bilan ajratiladi
func reverseWords(s string) string {
arr := strings.Split(s, " ")
var result strings.Builder
for _, v := range arr {
if v != "" {
result.WriteString(reverse(v) + " ")
}
}
return strings.TrimSpace(result.String())
}
func reverse(s string) string {
var result strings.Builder
for i := len(s) - 1; i >= 0; i-- {
result.WriteByte(s[i])
}
return result.String()
}
© Leetcode link
Last updated
Was this helpful?