![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
tan90du
许多人选择编程,首要的原因就是,他们宁愿将时间花在一个公平有序的地方,一个严格的能者上庸者下的地方
展开
-
Python2.x与3.x版本区别 牛客编程
1.print 函数 print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的: 2.Unicode Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。 现在, 在 Python 3,我们最终有了...原创 2019-09-23 09:46:53 · 247 阅读 · 0 评论 -
剑指offer39:数组中出现次数超过一半的数字
解法二 # -*- coding:utf-8 -*- class Solution: def MoreThanHalfNum_Solution(self, numbers): # write code here result,times = numbers[0],1 maxtime = 0 lens = len(number...原创 2019-09-05 16:07:05 · 130 阅读 · 0 评论 -
剑指offer19:正则表达式匹配
1.递归的思想依次匹配 1. 2.如果第二位是*:第一位如果匹配,则三种情况 pattern直接后移两位 s后移一位,pattern后移两位 s后移一位,pattern不动 有一种为true,则结果为true 3.其余情况一位一位比较 class Solution: # s, pattern都是字符串 def match(self, s, pattern): ...原创 2019-07-25 16:45:44 · 155 阅读 · 0 评论 -
剑指offer18:删除链表节点
1.考虑输入空链表和一个节点链表 2.如果头节点不重复,直接递归查找重复 3.双指针,进行判断两个节点是不是相等 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: de...原创 2019-07-18 17:15:30 · 145 阅读 · 0 评论 -
剑指offer34:二叉树中和为某一值的路径
1.判断是不是空树 2.递归结束的条件是叶子节点 3.考察二叉树前序遍历 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution...原创 2019-07-07 15:13:42 · 129 阅读 · 0 评论 -
剑指offer37:序列化二叉树
1.把树序列为字符串可以看成递归,先序遍历 2.碰到空指针变为特殊字符$ 3.反序列化时,直接按照‘,’号分隔开 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right =...原创 2019-07-15 19:34:28 · 100 阅读 · 0 评论 -
剑指32 从上到下打印二叉树
二叉树的层序遍历,本质就是广度遍历有向图。都要用到队列。 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: # ...原创 2019-07-01 20:51:26 · 152 阅读 · 0 评论 -
剑指31 栈的压入、弹出序列
# -*- coding:utf-8 -*- class Solution: def IsPopOrder(self, pushV, popV): # write code here if not pushV or len(pushV) != len(popV): return False stack = [] ...原创 2019-06-19 17:29:32 · 145 阅读 · 0 评论 -
剑指offer07:重建二叉树
1.递归的思想:通过前序序列找到根节点,然后在中序中分为左右子树. 2.index:找到值对应的索引位置返回 3.递归函数何时停止的条件很重要 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # ...原创 2019-05-28 11:01:10 · 143 阅读 · 0 评论 -
剑指5:替换空格
1.python方法:把字符创转为list,然后遇到空格就把空格换为%20,最后合成字符串 # -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here s = list(s) count=len(s) ...原创 2019-05-22 22:32:53 · 106 阅读 · 0 评论 -
240. 搜索二维矩阵 II 剑指4:二维数组中的查找
1.从右上角开始,如果target > matrix[m][n],就说明目标值肯定不在第m行,如果target <matrix[m][n],说明目标值肯定不在第n列,循环下去直到最后。 class Solution(object): def searchMatrix(self, matrix, target): """ :type matrix...原创 2019-05-21 16:03:22 · 128 阅读 · 0 评论 -
剑指offer03:数组中重复的数字
1.自己写:把每一个数拿出来和后面的数挨个对比,时间复杂度n^2 class Solution(object): def findDuplicates(self, nums): """ :type nums: List[int] :rtype: List[int] """ j = 0 k = ...原创 2019-05-20 22:43:24 · 121 阅读 · 0 评论