# python-剑指offer1-5

1、数组

```class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
if any(array):
m,n = len(array), len(array[0])
min = array[0][0]
max = array[m-1][n-1]
if target < min or target > max:
return False
else:
raw = 0
column = n-1
Flag = False
while raw <= m-1 and column >=0:
curnum = array[raw][column]
if target == curnum:
Flag = True
return Flag
elif target > curnum:
raw += 1
else:
column -= 1
return Flag
else:
return False```

2、字符串

```def replaceSpace(s):
# ind = s.replace(" ","%20")
s2 = []
s = list(s)
for str1 in s:
if str1 == " ":
s2.append("%20")
else:
s2.append(str1)
print("".join(s2))```

3、链表

```# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
# 返回从尾部到头部的列表值序列，例如[1,2,3]
# write code here
res = []
while listNode:
res.append(listNode.val)
listNode = listNode.next
return res[::-1]
```

```# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
# 返回从尾部到头部的列表值序列，例如[1,2,3]
# write code here
pre=None
cur=listNode
while cur:
t=cur.next
cur.next=pre
pre=cur
cur=t
res=[]
while pre:
res.append(pre.val)
pre=pre.next
return res```

4、树

```# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
# 返回构造的TreeNode根节点
def reConstructBinaryTree(self, pre, tin):
# write code here
if not pre or not tin:
return None
root=TreeNode(pre[0])
ind=tin.index(pre[0])
if ind>0:
root.left = self.reConstructBinaryTree(pre[1:ind+1],tin[:ind])
if ind<len(tin)-1:
root.right = self.reConstructBinaryTree(pre[ind+1:],tin[ind+1:])
return root```

5、栈

```# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.s1=[]
self.s2=[]
def push(self, node):
# write code here
self.s1.append(node)

def pop(self):
# return xx
if len(self.s2)>0:
return self.s2.pop()
else:
if len(self.s1)>0:
while len(self.s1)>0:
self.s2.append(self.s1.pop())
return self.s2.pop()```

0 条评论

• ### 【python实现卷积神经网络】批量归一化层实现

代码来源：https://github.com/eriklindernoren/ML-From-Scratch

• ### 动态分组卷积-Dynamic Group Convolution for Accelerating Convolutional Neural Networks

github：https://github.com/zhuogege1943/dgc/

• ### 【论文笔记】张航和李沐等提出：ResNeSt: Split-Attention Networks（ResNet改进版本）

github地址：https://github.com/zhanghang1989/ResNeSt

• ### Python学习之魔法方法

Python中会看到前后都加双下划线的函数名，例如 __init__(self)，这类写法在Python中具有特殊的含义。如果对象使用了这类方法中的某一个，那么...

• ### python写的监控mysql主从的ap

[global] user = cmVwbsdfsdfA== passwd = SGMxNzVBcEdEZ0ZRTGsfdfV6aA== time = 1...

• ### 强化学习FrozenLake求解

大概情景是湖面结冰不结实、黑色圆圈表示踩到就会跌落、白色圆圈表示目标、红色小圆圈代表agent

• ### python codis集群客户端(二) - 基于zookeeper对实例创建与摘除

在这一篇中我们实现了不通过zk来编写codis集群proxys的api， 如果codis集群暴露zk给你的话，那么就方便了，探活和故障摘除与恢复codis集群...

• ### Python3实现飞机大战游戏

本文实例为大家分享了Python3实现飞机大战游戏的具体代码，供大家参考，具体内容如下

• ### python第四十二课——__str__(self)函数

4.__str__(self): 作用： 创建完对象，直接打印对象名/引用名我们得到的是对象的内存信息(十六进制的地址信息)， 这串数据我们程序员并不关心...