Leetcode第七题:整数反转

题目

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。如果反转后整数溢出那么就返回 0

举例

  • 输入: 123 输出: 321
  • 输入: -123 输出: -321
  • 输入: 120 输出: 21

解析

不断对10取余

GO解答

func reverse(x int) int {
    
    
    max := 1 << 31
    min := 0 - max
    rev := 0

	for {
    
    
		if (x == 0) {
    
    
			break
		}
		rev = rev * 10 + x % 10
		if (rev > max || rev < min) {
    
    
			return 0
		}
		x = x / 10
	}

    return rev
}

猜你喜欢

转载自blog.csdn.net/z772532526/article/details/110403789