剑指offer
独鹿
啊哈
展开
-
offer通过--5从尾到头打印链表-2
class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here def r(listNode,rr): if not listNode is None: ...原创 2018-05-02 09:19:19 · 125 阅读 · 0 评论 -
offer通过--12打印1到最大的n的的位数-2
题目打印最大n位数,注意大数处理,采用stringdef n_(n): if n<0: return r = [str(9) for i in range(n)] print ''.join(r)原创 2018-05-02 15:12:03 · 147 阅读 · 0 评论 -
offer通过--11数值的整数次方-2
思路:递归,考虑指数为-1,0,1的情况。class Solution: def Power(self, base, exponent): # write code here flag =0 if exponent <0: exponent = abs(exponent) flag = 1 ...原创 2018-05-02 14:58:56 · 163 阅读 · 0 评论 -
offer通过--10二进制中统计1的个数-2
思路:让1右移或让输入左移,但是时间复杂度居然提示过高,没办法,只能拼代码了。。。class Solution: def NumberOf1(self, n): # write code here return list(bin(n if n >= 0 else n + 2 ** 32)).count('1')...原创 2018-05-02 14:01:08 · 120 阅读 · 0 评论 -
offer通过--9斐波那契数列-2
时间复杂度O(n)# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here if n<2: return n mi = 0 ma = 1 r = 0 while n-1: ...原创 2018-05-02 11:55:28 · 137 阅读 · 0 评论 -
offer通过--8两个栈实现队列-2
此题比较菜,求最小值而已,通过二分查找实现,但OJ时间限制,直接return min(array)了。原创 2018-05-02 11:39:38 · 124 阅读 · 0 评论 -
offer通过--7两个栈实现队列-2
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack_1 = [] self.stack_2 = [] def push(self, node): # write code here self.stack_1.append(node) def...原创 2018-05-02 11:05:31 · 105 阅读 · 0 评论 -
offer通过--4替换空格-2
注意:oj平台上有运行时间限制,如果使用指针来控制的话时间会超出,所以这里直接使用遍历拼接,时间复杂度O(n).# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceSpace(self, s): # write code here for i in s: if i ==" ...原创 2018-05-02 10:05:21 · 110 阅读 · 0 评论 -
offer通过--3二维数组中查找-2
注意问题:要细心检查代码# -*- coding:utf-8 -*-class Solution: # array 二维列表 def Find(self, target, array): # write code here if array is None: return False r = 0 c = le...原创 2018-05-02 09:45:32 · 110 阅读 · 0 评论