scala练习题 LeetCode 7. 整数反转

(java可以直接用字符串处理)

直接取余相加,这题坑就是int类型溢出,溢出返回0


object TestScala {
  /**
   *
   * @param args
   */
  def main(args: Array[String]):Unit={
    println("hello , scala!")
    println(reverse(1534236469))
//    println(reverse(9646324351))

  }

  def reverse(x: Int): Int = {
    var tmp:Int = x
    var res:Long = 0

    var neg : Boolean = false
    if(x < 0){
      neg = true
      tmp = -tmp
    }

    while(tmp > 0){
      res = res * 10 + tmp%10
      if(res > Int.MaxValue){
        return 0
      }
      tmp = tmp / 10
    }

    if(neg){
      res = -res
    }

    var result:Int = Integer.valueOf(res.toString)
    result

  }

}

发布了164 篇原创文章 · 获赞 64 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_20417499/article/details/104150943