dongmai6666 2016-03-13 16:11
浏览 14
已采纳

反向int golang

How to change 12345 to 54321? With a string, you can change the string to a rune, and reverse it, but you cannot do the same for an integer. I have searched and found no one talking about this. Examples
131415 >>> 514131
1357 >>> 7531
123a >>> ERROR
-EDIT-
I was thinking, why not create a slice and index that?
Then I realized that you can't index int
(http://play.golang.org/p/SUSg04tZsc)
MY NEW QUESTION IS
How do you index an int? OR
How do you reverse a int?

  • 写回答

3条回答 默认 最新

  • duancoubeng5909 2016-03-13 18:01
    关注

    Here is a solution that does not use indexing an int

    package main
    
    import (
        "fmt"
    )
    
    func reverse_int(n int) int {
        new_int := 0
        for n > 0 {
            remainder := n % 10
            new_int *= 10
            new_int += remainder 
            n /= 10
        }
        return new_int 
    }
    
    func main() {
        fmt.Println(reverse_int(123456))
        fmt.Println(reverse_int(100))
        fmt.Println(reverse_int(1001))
        fmt.Println(reverse_int(131415))
        fmt.Println(reverse_int(1357))
    }
    

    Result:

    654321
    1
    1001
    514131
    7531
    

    Go playground

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号