
算法题练习
Cpp编程小茶馆
业精于勤荒于嬉,
行成于思毁于随。
欢迎来我的推广订阅号,获取我收藏的大量学习资源。
共同学习,进步!
展开
-
剑指offer第一和第二题
第一题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code...原创 2018-03-22 21:42:07 · 296 阅读 · 0 评论 -
剑指Offer第三第四道题
第三题:输入一个链表,从尾到头打印链表每个节点的值。 思路:始终从列表的第一项插入数据。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回从尾部到头部的列...原创 2018-03-26 22:32:15 · 179 阅读 · 0 评论 -
剑指offer之矩阵覆盖
问题描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路:用归纳法归纳如下, (1)当 n < 1时,显然不需要用2*1块覆盖,按照题目提示应该返回 0。 (2)当 n = 1时,只存在一种情况。 (3)当 n = 2时,存在两种情况。 (4)当 n = 3时,明显感觉到如果没有章法,思...原创 2018-04-04 23:29:53 · 167 阅读 · 0 评论 -
剑指Offer之代码的鲁棒性——树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构 思路 1、需要设置一个标志位来代表本算法的出口 2、首先判断A和B的根节点是否相同,如果不同,则转入A的左子树进行判断,判断B是否包含在A的左子树中,如果不在。则转入右子树进行寻找。 3、当B遍历完为空时:若A也同时为空或者不为空时,则说明匹配 4、当B不为空,而A为空时,则说明A不包含...原创 2018-06-25 21:52:11 · 223 阅读 · 0 评论 -
剑指Offer之二叉树的镜像
题目 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:原二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 ...原创 2018-06-26 21:47:14 · 200 阅读 · 0 评论