C#算法之整数反转
题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0
代码模板
public class Solution {
public int Reverse(int x) {
}
}
笔者方法 68ms左右
public class Solution
{
public int Reverse(int x)
{
int num = 0;
while (x != 0)
{
int i = x % 10;
x = x / 10;
//C# int32 范围 [-2147483647~2147483647]
if (num > int.MaxValue / 10 )
return 0;
if (num < int.MinValue / 10)
return 0;
num = num * 10 + i;
}
return num;
}
}
到此这篇关于C#算法之整数反转的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python简单实现整数反转的画解算法
题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0. 假设环境不允许存储 64 位整数(有符号或无符号). 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 问题分析 首先我们想一下,怎么去反转一个整数? 用栈? 或者把整数变成字符串
-
python3整数反转的实现方法
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0. 假设环境不允许存储 64 位整数(有符号或无符号). 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 思路1:将其转为字符串进行翻转,并进行正负的判断.最后,题目要求如果反转后整数超过
-
C#算法之整数反转
题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0 代码模板 public class Solution { public int Reverse(int x) { } } 笔者方
-
python算法题 链表反转
链表的反转是一个很常见.很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表.实现链表反转有两种方式,一种是循环迭代,另外一种方式是递归. 第一种方式:循坏迭代 循坏迭代算法需要三个临时变量:pre.head.next,临界条件是链表为None或者链表就只有一个节点. # encoding: utf-8 class Node(object): def __init__(self): self.value = None self.next = None de
-
python算法题 链表反转详解
链表的反转是一个很常见.很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表.实现链表反转有两种方式,一种是循环迭代,另外一种方式是递归. 第一种方式:循坏迭代 循坏迭代算法需要三个临时变量:pre.head.next,临界条件是链表为None或者链表就只有一个节点. # encoding: utf-8 class Node(object): def __init__(self): self.value = None self.next = None de
-
Python3实现的回文数判断及罗马数字转整数算法示例
本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法.分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数. 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 .因此它不是一个回文数. 进阶:你
-
Java常用HASH算法总结【经典实例】
本文实例讲述了Java常用HASH算法.分享给大家供大家参考,具体如下: /** * Hash算法大全<br> * 推荐使用FNV1算法 * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */ public class HashAlgorithms { /**//** * 加法hash * @param key 字符串 * @param prime
-
Python数学建模学习模拟退火算法整数规划问题示例解析
目录 1.整数规划问题 2.模拟退火算法处理整数约束 3.数模案例 3.1 问题描述: 3.2 问题分析: 3.3 问题建模: 3.4 惩罚函数法求解约束优化问题: 4.模拟退火算法 Python 程序:求解整数规划问题 5.运行结果 参考文献: 1.整数规划问题 线性规划问题的最优解可能是分数或小数.但很多实际问题常常要求某些变量必须是整数解,例如:机器的台数.工作的人数或装货的车数.根据对决策变量的不同要求,整数规划又可以分为:纯整数规划.混合整数规划.0-1整数规划.混合0-1规划. 整数
-
PHP中创建和验证哈希的简单方法实探
PHP 5.5.0 带来了一份完整的全新特性与函数的列表.全新API之一就是Password Hashing API.它包含4个函数:password_get_info(), password_hash(), password_needs_rehash(),和password_verify().让我们分步来了解每个函数. 我们首先讨论password_hash()函数.这将用作创建一个新的密码的哈希值.它包含三个参数:密码.哈希算法.选项.前两项为必须的.你可以根据下面的例子来使用这个函数: $
-
使用Python求解最大公约数的实现方法
1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数.其计算原理依赖于下面的定理: 定理: gcd(a, b) = gcd(b, a mod b) 证明: a可以表示成a = kb + r, 则r = a mod b 假设d是a, b的一个公约数, 则有 d|a, d|b, 而r = a - kb, 因此d|r. 因此,d是(b, a mod b)的公约数. 加上d是(b,a mod b)的公约数,则d|b, d|r, 但是a = kb + r
随机推荐
- 使用angular写一个hello world
- 零基础易语言入门教程(五)之逻辑型数据类型
- 简单实体类和xml文件的相互转换方法
- Extjs中ComboBox加载并赋初值的实现方法
- python dict.get()和dict['key']的区别详解
- Javascript实现找不同色块的游戏
- Windows中安装Apache2和PHP4权威指南
- php+memcache实现的网站在线人数统计代码
- MySQL的表分区详解
- PHP MYSQL乱码问题,使用SET NAMES utf8校正
- [asp]天枫AJAX blog V1.0 程序提供下载了
- JSP入门教程之客户端验证、常用输出方式及JSTL基本用法
- C#转换日期类型实例
- SQL学习笔记三 select语句的各种形式小结
- JavaScript事件学习小结(一)事件流
- Android动态显示当前年月日时分秒系统时间(示例代码)
- javascript实现滚动效果的数字时钟实例
- myeclipse智能提示设置的实现方法
- javascript控制swfObject应用介绍
- 三层交换机的应用及选择
