首页 > 试题广场 >

翻转单词

[编程题]翻转单词
  • 热度指数:1357 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个字符串,请你把字符串中所有用空格隔开的单词翻转,保留原有的空格和单词顺序

数据范围:字符串长度满足 , 字符串中仅包含小写英文字母和空格
示例1

输入

"I am a programmer"

输出

"I ma a remmargorp"
示例2

输入

"nowcoder"

输出

"redocwon"
package main
import "strings"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @return string字符串
*/
func reverseWord( str string ) string {
    arr:=strings.Split(str," ")
    for i,s:=range arr{
        arr[i]=reverse(s)
    }
    return strings.Join(arr," ")
}

func reverse(s string)string{
    arr:=strings.Split(s,"")
    i,j:=0,len(s)-1
    for i<j{
        arr[i],arr[j]=arr[j],arr[i]
        i++
        j--
    }
    return strings.Join(arr,"")
}

发表于 2023-03-09 12:03:47 回复(0)