Java实现LeetCode_0007_ReverseInteger
package javaLeetCode_primary;
import java.util.Scanner;
/**
* Given a 32-bit signed integer, reverse digits of an integer. <b>Example 1:
* <li>Input: 123
* <li>Output: 321 Example 2:
* <li>Input: -123
* <li>Output: -32 Example 3:
* <li>Input: 120
* <li>Output: 21
*/
/*
* Test data:
*1534236469->0
*999999991->199999999
*2147483647->0
*2147483642 ->0
*1000000000->1
*-2147483648->0
*-214748364->-463847412
*901000-> 109
*/
public class ReverseInteger_7 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("Please input a integer:");
int x = input.nextInt();
System.out.println(reverse_2(x));
}// end main
/**
* Use simple methods to solve problems.
*/
public static int reverse_1(int x) {
int[] arr = new int[10];// Stores the number of bits of a parameter
int countDigit = 0;// Calculate the length of the number
int cf = 0;// Leave the parameter state
int i = 0;
// The element that initializes array is 0.
for (i = 0; i < arr.length; i++) {
arr[i] = 0;
} // end for
if (x < 0) {
cf = 1;
x *= -1;
} // end if
//Get the the digit of parameter and reverse/invert it.
i = 0;
while (x > 0) {
countDigit++;
arr[i] = x % 10;
x /= 10;
i++;
} // end while
// Print the integer
i = 0;
long y = 0;
for (; i < countDigit; i++) {
y = y * 10 + arr[i];
} // end for
//Judge whether the integer is valid.
if(y>2147483647) {
x = 0;
}else {
x = (int)y;
}//end if
if (cf == 1) {
x *= -1;
} // end if
return x;
}// end reverse()
/**
* Answer online
* */
public static int reverse_2(int x) {
int rev = 0;
while (x != 0) {
int pop = x % 10;
x /= 10;
if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;
if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;
rev = rev * 10 + pop;
}
return rev;
}//end reverse()
}
Java实现LeetCode_0007_ReverseInteger的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
随机推荐
- CentOS7 Installing Python3
最近开始学习python. python火了这么久,我终于还是跪舔它了,我是一个跟风的人,学过C.C#.JAVA.PHP,无一例外的浅尝即止,不知道我这双已经近视的眼,确认过的眼神还对不对,希望pyt ...
- Web_php_include
0x01 函数分析 <?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($p ...
- masonry中的make,remake,update
- (void)viewDidLoad { [super viewDidLoad]; self.navigationController.navigationBar.translucent = NO; ...
- Python基础语法day_02——字符串规则
day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> print(nam ...
- Java—线程的生命周期及线程控制方法详解
线程生命周期5种状态 介绍 线程的生命周期经过新建(New).就绪(Runnable).运行(Running).阻塞(Bolocked)和死亡(Dead) 状态转换图 新建(New) 程序使用 ...
- 读懂操作系统(x64)之堆栈帧(过程调用)
前言 上一节内容我们对在32位操作系统下堆栈帧进行了详细的分析,本节我们继续来看看在64位操作系统下对于过程调用在处理机制上是否会有所不同呢? 堆栈帧 我们给出如下示例代码方便对照汇编代码看,和上一节 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查
上一篇文章(https://www.cnblogs.com/meowv/p/12913676.html)我们用Code-First的方式创建了博客所需的实体类,生成了数据库表,完成了对EF Core的 ...
- Django之forms.ModelForm
通常在Django项目中,我们编写的大部分都是与Django 的模型紧密映射的表单. 举个例子,你也许会有个Book 模型,并且你还想创建一个form表单用来添加和编辑书籍信息到这个模型中. 在这种情 ...
- C语言经典笔试题目
1.bool,float,指针变量 与 “零值” 比较的if语句 注意点:c语言中bool类型采用整数存储,0为false,非0均为true; float类型采用IEEE754标准,第一位符号位,中间 ...
- SQL——SQL别名、UNION和SELECT INTO
Alias(别名) - 为列名称和表名称指定别名 语法:表SELECT columnName(s) FROM tableName AS aliasName 列SELECT co ...