翻转整数 Reverse digits of a number
两种方法翻转一个整数。顺序翻转和递归翻转
这里没考虑overflow的情况
递归的作用是使得反向处理。即从递归栈的最低端開始处理。通过绘图可得。
假设是rec(num/10):
12345
1234
123
12
1 <-- 递归使得这个最先处理
package recursion;
public class Reverse_digits_of_a_number {
	public static void main(String[] args) {
		int num = 123;
		System.out.println(reverse(num));
		System.out.println(rec(num));
	}
	public static int reverse(int num) {
		int rev = 0;
		while(num != 0) {
			rev = rev * 10 + num % 10;
			num /= 10;		// /10相当于10进制的右移一位
		}
		return rev;
	}
	static int revNum = 0;
	static int base = 1;
	public static int rec(int num) {
		if(num == 0) {
			return num;
		}
		rec(num/10);		// 相当于block在这里。直到递归究竟,eg,num=123 -> 12 -> 1 -> 0
		revNum = revNum + base*(num%10);
		base *= 10;
		return revNum;
	}
}
http://www.geeksforgeeks.org/write-a-c-program-to-reverse-digits-of-a-number/
翻转整数 Reverse digits of a number的更多相关文章
- [LeetCode] Reverse Integer 翻转整数
		Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to ... 
- 7. Reverse Integer(翻转整数)
		Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ... 
- [LeetCode] 7. Reverse Integer 翻转整数
		Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ... 
- [LintCode] Reverse Integer 翻转整数
		Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ... 
- leetcode:Reverse Integer 及Palindrome Number
		Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, retur ... 
- 65. Reverse Integer  && Palindrome Number
		Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, re ... 
- [Swift]LeetCode7. 反转整数 | Reverse Integer
		Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ... 
- 【LeetCode】Reverse digits of an integer
		Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have you ... 
- [Swift]LeetCode25. k个一组翻转链表 | Reverse Nodes in k-Group
		Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k ... 
随机推荐
- MYSQL 备份用户权限
			MYSQL 备份用户权限 datadbblack 192.168.1.10 是 SELECT, RELOAD, SHOW DATABASES, LOCK TABLES 否 权限列表 1.Select ... 
- sizeof,一个其貌不扬的家伙(转)
			sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下.但当我总结的时候才发现,这个问题既可以简单,又可以 ... 
- YARN & HDFS2 安装和配置Kerberos
			今天尝试在Hadoop 2.x开发集群上配置Kerberos,遇到一些问题,记录一下 设置hadoop security core-site.xml <property> <name ... 
- 金融管理 - MBA智库百科
			金融管理 - MBA智库百科 金融管理 出自 MBA智库百科(http://wiki.mbalib.com/) 金融管理(Financial Management) 目录 ... 
- 中科燕园GIS外包---地铁GIS项目
			(1)地铁保护及project地质管理 • 地铁保护 地铁交通既有运量大,速度快的特点,又有差别于其它交通方式的在地下执行的空间特殊性,因此地铁的保护显得尤为重要. 首先必须编制完整的 ... 
- hdu1853解题报告
			题意和解决回路匹配的思路如同hdu3488 (这里我第一次想到最短路,但是对于有回路这个不知道怎么处理,后来看了别人的解题报告才知道KM匹配,但是看到KM之后就自己想...想了很久....还是不知道回 ... 
- 如何创建C++程序
			下载Microsoft Visual C++ 6.0请点击这里:VC 6.0下载(包括中文版英文版)(支持Win7和XP) 首先,我们要进入Microsoft Visual C++集成开发环境(Int ... 
- C语言拾遗--static
			C程序一直由下列部分组成: 正文段——CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令: 初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里. ... 
- JAVA技术专题综述之线程篇(1)
			本文详细介绍JAVA技术专题综述之线程篇 编写具有多线程能力的程序经常会用到的方法有: run(),start(),wait(),notify(),notifyAll(),sleep(),yield( ... 
- ios开发问题:添加库和复制其它工程文件编译错误问题
			首先添加库问题: 选择页签Build Phases->Link Binary With Libraries点+添加库 然后command+shift+k清除历史debug的垃圾 复制其它工程文件 ... 
