leetcode算法实现之整数反转reverse_integer
2021/9/29 12:10:49
本文主要是介绍leetcode算法实现之整数反转reverse_integer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-- coding: utf-8 --
- https://leetcode-cn.com/problems/reverse-integer
"""
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
- 考虑边界
1.末尾为零的int,反转时删除,末尾连续为0,删至不为0为止
2.有符号的,符号保持
3.个位数,直接返回
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
"""
python
def reverse_integer(num): """ :param num: int :return: reverse num """ if not isinstance(num, int): return False num2Str = str(num) n = len(num2Str) if n == 1 or (n == 2 and num2Str[0] == '-'): return num def reverse_handle(start, end, numstr): stack_ = list() for i in range(start, end): ch = numstr[i] stack_.append(ch) newnumstr = '' for i in range(start, end): newnumstr += stack_.pop() count_0 = 0 for i in range(end-start): if i > 0 and newnumstr[i] == '0' and newnumstr[i-1] == '0': count_0 += 1 if newnumstr[i+1] != '0': break elif i == 0 and newnumstr[i] == '0': count_0 += 1 newnumstr = newnumstr[count_0:] return int(newnumstr) if n >= 2: if num2Str[0] == '-': newnum = reverse_handle(1, n, num2Str) return -newnum else: newnum = reverse_handle(0, n, num2Str) return newnum if __name__ == "__main__": num1 = 0 num2 = -123 num3 = 120 num4 = -140 num5 = 25000 num6 = -65000 num7 = -5901010100 print(reverse_integer(num1)) print(reverse_integer(num2)) print(reverse_integer(num3)) print(reverse_integer(num4)) print(reverse_integer(num5)) print(reverse_integer(num6)) print(reverse_integer(num7))
这篇关于leetcode算法实现之整数反转reverse_integer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升