7. Reverse Integer
程序员文章站
2022-07-15 14:39:11
...
题目:
答案:
总结:
1)# 自己写的方法:能用,但不够好,
# 1) 没有考虑越界
# 2)采用字符串方式操作,感觉有点啰嗦
2)# 正确的姿势, 利用 10进制,移动位置来操作,方便快捷!
# @TIME : 2019/3/28 下午11:14
# @File : Reverse_integer.py
# 自己写的方法:能用,但不够好,
# 1) 没有考虑越界
# 2)采用字符串方式操作,感觉有点啰嗦
import time
class stack:
def __init__(self):
self.item = []
def isEmpty(self):
return len(self.item) == 0
def push(self, item):
self.item.append(item)
def pop(self):
return self.item.pop()
def peek(self):
if not self.isEmpty():
return self.item[len(self.item) - 1]
def size(self):
return len(self.item)
class reverse_list:
def __init__(self, stack):
self.stack = stack
self.item = self.stack.item
self.new_list = self.reverse_list()
def reverse_list(self):
new_list = []
for i in range(len(self.item)):
new_list.append(self.item.pop())
return new_list
def reverse_int(num):
num_str = str(num)
if num > 0:
int_stack = stack()
temp = [int_stack.push(i) for i in num_str]
int_reverse = reverse_list(int_stack)
return int("".join(int_reverse.new_list))
else:
num_str = num_str.strip("-")
int_stack = stack()
temp = [int_stack.push(i) for i in num_str]
int_reverse = reverse_list(int_stack)
return int("-" + "".join(int_reverse.new_list))
start = time.time()
num = 12345
aa = reverse_int(num)
print(aa) #-321
end = time.time()
print('第一个程序运行时间:', str(end - start ))
# 正确的写法: 利用 10进制,移动位置来操作,方便快捷!
class solution:
def reverse(self, num):
"""
:param x: int
:return: int
"""
result = 0
abs_num = abs(num)
while(abs_num != 0):
temp = abs_num % 10
result = result * 10 + temp
abs_num = int(abs_num/10) # 判断条件
if num > 0 and result < 2147483647:
return result
elif num < 0 and result <= 2147483647:
return -result
else:
return 0
start2 = time.time()
a = solution()
print("\n", a.reverse(12345))
end2 = time.time()
print('第二个程序运行时间:', str(end2 - start2))
运行结果时间对比:
54321
第一个程序运行时间: 4.9114227294921875e-05
54321
第二个程序运行时间: 1.71661376953125e-05
上一篇: 7. Reverse Integer
下一篇: 7. Reverse Integer
推荐阅读
-
Leetcode解题 7. Reverse Integer 反转整数
-
关于tf.reverse_sequence()简述
-
Mybatis Integer类型参数值为0时得到为空的解决方法
-
Reverse a String-freecodecamp算法题目
-
PHP中的integer类型使用分析
-
[springboot 开发单体web shop] 7. 多种形式提供商品列表
-
Python 列表排序方法reverse、sort、sorted详解
-
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
-
JAVA Integer类型自加实例详解
-
Java中Integer.parseInt和Integer.valueOf,你还傻傻分不清吗?