반전 정수 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/

좋은 웹페이지 즐겨찾기