LeetCode07-回文数

在这里插入图片描述
实现逻辑:

package com.example.demo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class PalindromeNum {
	/**
	 * 回文数
	 */
	@Test
	public void contextLoads() {
		boolean s=isPalindrome(-121);
		System.out.println(s);
	}

    /**
     * 第一个想法
	 * 由于之前写过数字倒叙相同
	 * 有题目可知,负数必不可能是回文数
	 * 整数的只要倒序,然后两数相等就是回文数
	 * 执行用时 :9 ms, 在所有 java 提交中击败了99.04%的用户
	 * 内存消耗 :36.5 MB, 在所有 java 提交中击败了95.03%的用户
	 * @param s
     * @return
     */
	public boolean isPalindrome(int s) {
		int begin=s;
		int result=0;
		while (s!=0){
			result=result*10+s%10;
			s=s/10;
		}
		if(begin>=0&&result==begin){
			return true;
		}
		return false;
	}
	
     /**
	 * 蠢办法也是要有的,将整数转换成字符串然后逐位比较
	 * @param x
	 * @return
	 */
	public boolean isPalindrome2(int x) {
		if(x<0||(x<10&&x>0)){
			return false;
		}else if(x==0){
			return true;
		}else{
			String s=String.valueOf(x);
			for (int i = 0; i <s.length() ; i++) {
				if(!(s.charAt(i)==s.charAt(s.length()-1-i))){
					return false;
				}
			}
			return true;
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值