C++反转一个整数

该博客介绍了如何使用C++解决LeetCode上的问题——反转32位整数。通过不断取整数除以10的余数并累积,可以得到整数的翻转值。例如,对于输入123,其翻转过程为123→3→12→1,最终得到321,实现方式是在每次得到新余数时将它加到上一次的10倍上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321

思路:如果是一个正数,不断的取÷10的余数再10,再加上新的余数。
比如:123,
第一次123%10=3,然后123÷10=12
第二次12%10=2,然后12÷10=1
第三次1%10=1,然后1÷10=0 ,等于0停止循环
这样从上到下我们就得到了3,2,1
想要得到321则需要3
100+210+1,即在得到下一个余数的同时给上一个余数10。

/*Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321 */
#include<iostream>
using namespace std;

long reverse(int x){
    int symbol=1;	//符号,位数 
	long remainder=0,num=0;
	if(x<0) {
		symbol =- 1;	//记录符号 
		x =- x;}
		
	while(x!=0)
	{
		remainder = x%10;
		x /= 10;
		num = num*10 + remainder;
	
	}
	
	return symbol*num;	
}
int main()
{
	cout<<reverse(15472319);
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值