剑指offer-python实现
Laurel1115
这个作者很懒,什么都没留下…
展开
-
【剑指offer】python实现”从上往下打印二叉树“
从上往下打印二叉树思路实现思路可以借助队列先进先出的特点,①每次取对头节点的值放入结果中②按照先序遍历每次先将根节点存入,再依次存入其左孩子右孩子(如果有的话)以上两点在while循环中实现,直至队列长度为0实现# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.va...原创 2019-03-05 21:59:46 · 568 阅读 · 0 评论 -
【剑指offer】python实现”二叉搜索树的后序遍历序列“
二叉搜索树的后序遍历序列思路实现思路首先题目是对二叉搜索树的后序遍历,在解题之前我们应该明确什么是二叉搜索树、后序遍历,有哪些特点:关于二叉查找树以下来自百度百科:”二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有...原创 2019-03-11 10:55:27 · 699 阅读 · 0 评论 -
【剑指offer】python实现二叉树中和为某一值的路径
二叉树中和为某一值的路径思路实现思路又是一道关于二叉树的题,差不多关于二叉树的题都少不了要用到递归。1.首先,我们必须判断根节点是否大于期望的路径求和值,如果大于,那么就直接return2.然后,还要考虑到只有根节点且值为期望的路径求和值,就直接返回由根节点构成的路径3.以上两条是递归结束的标志,对于其他情况,我们需要分别递归处理左子树和右子树4.递归结束后,我们再整合在左子树和右子树...原创 2019-03-11 11:10:57 · 453 阅读 · 0 评论 -
【剑指offer】python实现顺时针打印矩阵
python实现顺时针打印矩阵思路AC代码思路| 1 | 2 | 3 | 4 ||12|13|14| 5 ||11|16|15| 6 ||10| 9 | 8 | 7 |假如矩阵如上,那么打印的输出应为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16怎么实现,我们要知道一个矩阵必有一个最外围包含内围的嵌套,如下:那么,此时就会有四个边界,即当前矩阵框的最...原创 2019-03-25 09:19:18 · 993 阅读 · 1 评论 -
【剑指offer】python实现矩形覆盖
python实现矩形覆盖题目描述思路AC代码题目描述我们可以用2 * 1 的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路这是一道递归题,首先我们可以列举n=1,2,3,4时的情形观察一下规律(显然n=0时,为0)可以明显看到f(n)=f(n-1)+f(n-2)AC代码class Solution: ...原创 2019-03-25 10:31:18 · 287 阅读 · 0 评论 -
【剑指offer】二进制中1的个数
二进制中1的个数题目描述思路AC代码题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路需要注意的是题目说明了是整数,那么就既有正整数,又有负整数,而且负数是要用补码表示的,int型位数一般为32为,那么对于一个负数,比如-1它的补码应为1111 1111 1111 1111,怎么得到的首先考虑1的原码为0000 0000 0000 0001,然后将右边第一个1前的...原创 2019-03-25 11:34:52 · 145 阅读 · 0 评论 -
【剑指offer】python实现反转链表
python实现反转链表思路AC代码思路三个指针,直接看代码更好理解。注意最后返回的是prevN,而不是pHead,因为最终的pHead是为None的AC代码# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = No...原创 2019-03-30 21:23:52 · 291 阅读 · 0 评论