剑指offer题解
本专栏主要介绍剑指offer全书中的算法题题解
daipuweiai
这个作者很懒,什么都没留下…
展开
-
剑指offer——序列化二叉树
概述题目描述 请实现两个函数,分别用来序列化和反序列化二叉树C++ AC代码#include <iostream>#include <vector>using namespace std;struct TreeNode { int val; struct TreeNode *left; struct TreeNod...原创 2018-09-12 09:01:01 · 294 阅读 · 0 评论 -
剑指offer——二叉搜索树的第k个结点
概述题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。C++ AC代码#include <iostream>using namespace std;struct TreeNode { int val; struct TreeNode *left...原创 2018-09-12 09:23:00 · 297 阅读 · 0 评论 -
剑指offer——滑动窗口的最大值
概述题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6...原创 2018-09-13 08:58:27 · 367 阅读 · 0 评论 -
剑指offer——机器人的运动范围
概述题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路这是典型的一道d...原创 2018-09-14 09:25:25 · 327 阅读 · 0 评论 -
剑指offer——对称的二叉树
概述题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路root1与root2都为空,返回true;否则,root1与root2其中一个为空,那么返回false;否则,若root1与root2的根节点不相等,那么返回false;否则,递归判断root1的左子树和root2的右子树、root2的左子...原创 2018-09-06 14:01:03 · 243 阅读 · 0 评论 -
剑指offer——按之字形顺序打印二叉树
概述题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路首先定义两个堆栈left和right,并定义二维数组ans来存放结果序列,一维数组tmp来存放中间结果。首先将根结点压入left,根结点的元素追加到tmp,之后tmp追加到ans,之后tmp清空。之后当left和ri...原创 2018-09-07 09:57:25 · 253 阅读 · 0 评论 -
剑指offer——把二叉树打印成多行
概述题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。C++ AC代码#include <iostream>#include <queue>#include <vector>using namespace std;struct TreeNode { int val; struct Tre...原创 2018-09-07 11:02:35 · 271 阅读 · 0 评论 -
【剑指offer】1.二维数组中的查找
【剑指offer】1.二维数组中的查找题解及其C++代码原创 2017-04-05 19:35:03 · 515 阅读 · 0 评论 -
【剑指offer】2.替换空格
【剑指offer】2.替换空格题解及其C++代码原创 2017-04-05 19:38:40 · 439 阅读 · 0 评论 -
【剑指offer】3.从尾到头打印链表
【剑指offer】3.从尾到头打印链表题解及其C++代码原创 2017-04-05 20:00:52 · 398 阅读 · 0 评论 -
【剑指offer】4.重建二叉树
【剑指offer】4.重建二叉树题解及其C++代码原创 2017-04-05 20:51:18 · 439 阅读 · 0 评论 -
【剑指offer】5.用两个栈实现队列
【剑指offer】5.用两个栈实现队列题解及其C++代码原创 2017-04-15 20:55:08 · 691 阅读 · 0 评论 -
【剑指offer】6.旋转数组的最小数字
【剑指offer】6.旋转数组的最小数字题解及其C++代码原创 2017-04-15 20:58:40 · 644 阅读 · 0 评论 -
【剑指offer】7.斐波那契数列
【剑指offer】7.斐波那契数列题解及其C++代码原创 2018-05-12 18:44:27 · 301 阅读 · 0 评论 -
【剑指offer】8.跳台阶
【剑指offer】8.跳台阶题解及其C++代码原创 2017-04-15 21:10:33 · 844 阅读 · 0 评论 -
【剑指offer】9.变态跳台阶
【剑指offer】9.变态跳台阶题解及其C++代码原创 2017-04-16 13:58:04 · 739 阅读 · 0 评论 -
【剑指offer】10.矩形覆盖
【剑指offer】10.矩形覆盖题解及其C++代码原创 2017-04-16 13:50:53 · 666 阅读 · 0 评论 -
【剑指offer】11.二进制中1的个数
【剑指offer】11.二进制中1的个数的题解及其C++代码原创 2017-04-16 18:24:39 · 432 阅读 · 0 评论 -
【剑指offer】12.数值的整数次方
【剑指offer】12.数值的整数次方的题解及其C++代码原创 2017-04-16 18:43:01 · 414 阅读 · 0 评论 -
【剑指offer】13.调整数组顺序使奇数位于偶数前面
【剑指offer】13.调整数组顺序使奇数位于偶数前面的题解及其C++代码原创 2017-04-23 16:43:16 · 530 阅读 · 0 评论 -
【剑指offer】14.链表中倒数第k个结点
【剑指offer】14.链表中倒数第k个结点的题解及其C++代码原创 2017-04-23 17:15:18 · 665 阅读 · 0 评论 -
【剑指offer】15.反转链表
【剑指offer】15.反转链表题解及其C++代码原创 2017-04-23 18:40:24 · 463 阅读 · 0 评论 -
【剑指offer】16.合并两个排序的链表
【剑指offer】16.合并两个排序的链表题解及其C++代码原创 2017-04-23 19:17:14 · 541 阅读 · 0 评论 -
【剑指offer】17.树的子结构
【剑指offer】17.树的子结构题解及其C++代码原创 2017-04-25 14:51:04 · 680 阅读 · 0 评论 -
【剑指offer】18.二叉树的镜像
【剑指offer】18.二叉树的镜像题解及其C++代码原创 2017-04-25 15:15:02 · 494 阅读 · 0 评论 -
【剑指offer】19.顺时针打印矩阵
【剑指offer】19.顺时针打印矩阵题解及其C++代码原创 2017-04-25 16:20:34 · 445 阅读 · 0 评论 -
【剑指offer】20.包含min函数的栈
【剑指offer】20.包含min函数的栈题解及其C++代码原创 2017-04-25 16:42:40 · 516 阅读 · 0 评论 -
【剑指offer】21.栈的压入、弹出序列
【剑指offer】21.栈的压入、弹出序列题解机器C++代码原创 2017-04-27 14:35:16 · 571 阅读 · 0 评论 -
【剑指offer】22.从上往下打印二叉树
【剑指offer】22.从上往下打印二叉树题解及其C++代码原创 2017-05-01 18:37:32 · 655 阅读 · 0 评论 -
【剑指offer】23.二叉搜索树的后序遍历序列
【剑指offer】23.二叉搜索树的后序遍历序列题解及其C++代码原创 2017-05-01 20:10:16 · 811 阅读 · 0 评论 -
【剑指offer】24.二叉树中和为某一值的路径
【剑指offer】24.二叉树中和为某一值的路径题解及其C++代码原创 2017-05-23 21:57:53 · 655 阅读 · 0 评论 -
【剑指offer】25.复杂链表的复制
【剑指offer】25.复杂链表的复制题解及其C++代码原创 2018-07-11 09:06:22 · 208 阅读 · 0 评论 -
【剑指offer】26.二叉搜索树与双向链表
【剑指offer】26.二叉搜索树与双向链表题解及其C++代码原创 2018-07-13 09:10:32 · 282 阅读 · 0 评论 -
【剑指offer】27.字符串的排列
【剑指offer】27.字符串的排列题解及其C++代码原创 2018-07-16 09:17:02 · 452 阅读 · 0 评论 -
【剑指offer】28.数组中出现次数超过一半的数字
【剑指offer】28.数组中出现次数超过一半的数字题解及其C++代码原创 2018-07-16 09:31:01 · 229 阅读 · 0 评论 -
【剑指offer】29.最小的K个数
【剑指offer】29.最小的K个数题解及其C++代码原创 2018-07-17 08:22:47 · 283 阅读 · 0 评论 -
【剑指offer】30.连续子数组的最大和
【剑指offer】30.连续子数组的最大和题解及其C++代码原创 2018-07-17 09:06:55 · 252 阅读 · 0 评论 -
【剑指offer】31.整数中1出现的次数
【剑指offer】31.整数中1出现的次数题解及其C++代码原创 2020-07-18 21:10:16 · 336 阅读 · 0 评论 -
【剑指offer】32.把数组排成最小的数
【剑指offer】32.把数组排成最小的数题解及其C++代码原创 2018-07-18 08:50:17 · 252 阅读 · 0 评论 -
【剑指offer】33.丑数
【剑指offer】33.丑数题解及其C++代码原创 2018-07-19 08:37:31 · 248 阅读 · 0 评论