Quick actions

cmd+k|ctrl+k

Navigation

Languages

string reverse

Snippet info

Language

Go

Visibility

public

Author

xealgo

Created

2017-07-26T21:02:53Z

Updated

2017-07-26T21:03:11Z

package main

import (
    "fmt"
)

func reverseWord(word string) string {
    b := 0 
    e := len(word)-1
    o := []byte(word)
    
    for {
        t := o[b]
        o[b] = o[e]
        o[e] = t
        
        b++
        e--
        
        if (b >= e) {
           break
        }
    }
    return string(o)
}

func reverseString(str string) string {
    out := ""
    tmp := []byte{}
    ln := len(str)-1
    
    for i, v := range str {
        if i == ln {
            tmp = append(tmp, str[i])
            out += reverseWord(string(tmp))
            tmp = tmp[:0]
            break
        } else if v == ' ' {
            out += reverseWord(string(tmp))
            out += " "
            tmp = tmp[:0]
        } else {
            tmp = append(tmp, str[i])
        }
    }
    return reverseWord(out)
}

func main() {
    fmt.Println(reverseWord("world"))
    fmt.Println(reverseString("hello world"))
}
INFO