zoukankan      html  css  js  c++  java
  • LeetCode Golang 9.回文数

    9. 回文数

    第一种办法 :itoa 转换为字符串进行处理:

    package main
    
    import (
    	"strconv"
    	"fmt"
    )
    
    //判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
    //
    //示例 1:
    //
    //输入: 121
    //输出: true
    //示例 2:
    //
    //输入: -121
    //输出: false
    //解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    //示例 3:
    //
    //输入: 10
    //输出: false
    //解释: 从右向左读, 为 01 。因此它不是一个回文数。
    
    func main() {
    	fmt.Println(isPalindrome(0))
    }
    
    
    func isPalindrome(x int) bool {
    	if x < 0 {
    		return false
    	}
    
    	if x < 10 {
    		return true
    	}
    
    	arrX := strconv.Itoa(x)
    
    	for i := 0; i < len(arrX)/2; i++ {
    		if arrX[i] != arrX[len(arrX)-i-1] {
    			return false
    		}
    	}
    	return true
    }
    

      

    第二种办法:

    纯数学, 将 输入的数字全部反过来 123->321, 再返回 == 比较结果

    func isPalindrome(x int) bool {
    	if x < 0{
    		return false
    	}
    	pre := x
    	rev := 0
    	for x != 0{
    		rev = rev * 10 + x % 10
    		x /= 10
    	}
    	return rev == pre
    }
    

      

  • 相关阅读:
    java大数取余
    hdu--5351--MZL's Border
    NYOJ--水池数目
    NYOJ--32--SEARCH--组合数
    NYOJ--20--搜索(dfs)--吝啬的国度
    hdu--4148--Length of S(n)
    hdu--2098--分拆素数和
    hdu--1873--看病要排队
    hdu--1870--愚人节的礼物
    hdu--1237--简单计算器
  • 原文地址:https://www.cnblogs.com/gettolive/p/10216727.html
Copyright © 2011-2022 走看看