504.base-7.go 375 B

12345678910111213141516171819202122
  1. func convertToBase7(num int) string {
  2. if num == 0 {
  3. return "0"
  4. }
  5. str := make([]rune, 0)
  6. isNeg := false
  7. if num < 0 {
  8. isNeg = true
  9. num = -num
  10. }
  11. for num != 0 {
  12. str = append(str, rune(num%7+'0'))
  13. num /= 7
  14. }
  15. for l, r := 0, len(str)-1; l < r; l, r = l+1, r-1 {
  16. str[l], str[r] = str[r], str[l]
  17. }
  18. if isNeg {
  19. return "-" + string(str)
  20. }
  21. return string(str)
  22. }