1. 二维数组的查找
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
m = len(array)
n = len(array[0])
j = n-1
i = 0
while(i<m and j>=0):
if(array[i][j] == target):
return True
elif(array[i][j] >target):
j=j-1
else:
i=i+1
return False
if __name__=='__main__':
target = 7
array = [[1,3,4],[2,5,8],[3,7,9]]
solution = Solution()
ans = solution.Find(target,array)
print(ans)
总结: array类型没有array.size(),要用len取长度
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
ans = '%20'.join(s.split(' '))
return ans
总结: s.split()本身会形成一个列表,不需要额外加[]
- 链表值逆序生成列表
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
list = []
while(listNode):
list.append(listNode.val)
listNode = listNode.next
return list[::-1]
总结: 先是没有注意看上面注释掉的代码,其中有链表节点的定义。 然后还有就是判断当前节点是否为空,直接while(listNode)就可以了,没有==null这种判断
- 重建2叉树
![][D1A9.png]
(https://img.haomeiwen.com/i1852453/f7f9055a10a8f413.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
此题难度有点大,但还是有思路的,实现起来遇到些问题,递归用self.func,而且前序遍历和中序遍历有点混了。
网友评论