剑指offer
剑指offer刷题笔记
Code进阶狼人
Stay hungry and modest
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer刷题笔记——从上往下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。题目地址https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-...原创 2019-12-23 17:52:59 · 325 阅读 · 0 评论 -
剑指offer刷题笔记——栈的压入、弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)题目地址https://www.nowcoder.com/practice/d7...原创 2019-12-23 17:39:12 · 473 阅读 · 0 评论 -
剑指offer刷题笔记——包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。题目地址https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&tPage=1&rp=1&ru=/ta/coding-intervi...原创 2019-12-23 17:21:30 · 337 阅读 · 0 评论 -
剑指offer刷题笔记——顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.注意,不是蛇形打印,而是一层一层顺时针打印题目地址https://www.nowcoder.com/prac...原创 2019-12-23 17:11:48 · 375 阅读 · 0 评论 -
剑指offer刷题笔记——对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。题目地址https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=13&tqId=11211&tPage=1&rp=1&ru=/ta/coding-int...原创 2019-12-23 16:50:13 · 322 阅读 · 0 评论 -
剑指offer刷题笔记——二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像题目地址https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011?tpId=13&tqId=11171&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-inter...原创 2019-12-23 16:38:10 · 343 阅读 · 0 评论 -
剑指offer刷题笔记——树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)题目地址https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1&rp=1&ru=/ta/coding-interviews&a...原创 2019-12-23 16:24:56 · 300 阅读 · 0 评论 -
剑指offer刷题笔记——合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题目地址https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&tPage=1&rp=1&ru=/ta/coding-interviews&a...原创 2019-12-23 16:14:50 · 295 阅读 · 0 评论 -
剑指offer刷题笔记——反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。题目地址https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interv...原创 2019-12-23 15:42:02 · 369 阅读 · 0 评论 -
剑指offer刷题笔记——链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。题目地址https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&tqId=11208&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/t...原创 2019-12-23 15:21:21 · 318 阅读 · 0 评论 -
剑指offer刷题笔记——链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。题目地址https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-intervi...原创 2019-12-23 15:11:57 · 328 阅读 · 0 评论 -
剑指offer刷题笔记——调整数组顺序使奇数位于偶数前面
题目地址https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&tqId=11166&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述输入...原创 2019-12-23 15:04:35 · 385 阅读 · 0 评论 -
剑指offer刷题笔记——表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。题目地址https://www.nowcoder.com/practice/6f8c901d091949a5837e24bb82a731...原创 2019-12-23 14:51:37 · 326 阅读 · 0 评论 -
剑指offer刷题笔记——正则表达式匹配
题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配题目地址https://www.nowcoder.com/practice/45327ae22...原创 2019-12-23 14:28:27 · 312 阅读 · 0 评论 -
剑指offer刷题笔记——删除链表中重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5题目地址https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&am...原创 2019-12-23 14:11:30 · 289 阅读 · 0 评论 -
剑指offer刷题笔记——数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0题目地址https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&tPage=1&rp=1&...原创 2019-12-23 13:55:57 · 283 阅读 · 0 评论 -
剑指offer刷题笔记——二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。题目地址https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&tqId=11164&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/cod...原创 2019-12-23 13:47:42 · 336 阅读 · 0 评论 -
剑指offer刷题笔记——机器人的运动范围
题目地址https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8?tpId=13&tqId=11219&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述地上...原创 2019-12-23 13:22:51 · 357 阅读 · 0 评论 -
剑指offer刷题笔记——矩阵中的路径
题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。例如 a b c e s f c s a d e e矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占...原创 2019-12-23 12:54:22 · 311 阅读 · 0 评论 -
剑指offer刷题笔记——旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目地址https://www.nowcoder.com/practice/9f3231a991af4f...原创 2019-12-23 11:48:32 · 401 阅读 · 0 评论 -
剑指offer刷题笔记——矩形覆盖
题目地址https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述我们...原创 2019-12-23 11:34:47 · 352 阅读 · 0 评论 -
剑指offer刷题笔记——变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目地址https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&tqId=11162&tPage=1&rp=1&ru=/ta/coding-int...原创 2019-12-23 11:13:59 · 302 阅读 · 0 评论 -
剑指offer刷题笔记——跳台阶
题目地址https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述一只...原创 2019-12-23 10:53:27 · 362 阅读 · 0 评论 -
剑指offer刷题笔记——斐波那契数列
试题地址:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&tqId=11160&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述大...原创 2019-12-23 10:39:34 · 572 阅读 · 0 评论 -
剑指offer刷题笔记——用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路假设 stack_in 用于处理入栈操作,stack_out用于处理出栈操作stack_in 按栈的方式正常处理入栈数据;关键在于出栈操作当stack_out为空时,需要先将每个stack_in中的数据出栈后压入stack_out反之,每次弹出stack_out栈顶元素即可...原创 2019-12-20 17:58:16 · 309 阅读 · 0 评论 -
剑指offer刷题笔记——二叉树的下一个结点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路回顾中序遍历的顺序如果一个节点的右子树不为空,那么下一个节点是该节点右子树的最左叶子;否则(右子树为空),沿父节点向上直到找到某个节点是其父节点的左孩子,那么该父节点就是下一个节点code/*struct TreeLinkNode...原创 2019-12-20 17:41:55 · 269 阅读 · 0 评论 -
剑指offer刷题笔记——重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路涉及二叉树的问题,应该条件反射般的使用递归(无优化要求时)前序遍历的第一个值为根节点的值,使用这个值将中序遍历结果分成两部分,左部分为左子...原创 2019-12-20 16:54:58 · 332 阅读 · 0 评论 -
剑指offer刷题笔记——从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路栈头插法(双端队列或数组)code/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) ...原创 2019-12-20 16:13:25 · 301 阅读 · 0 评论 -
剑指offer刷题笔记——替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We AreHappy.则经过替换之后的字符串为We%20Are%20Happy。思路先遍历一次,找出空格的数量,得到替换后的长度;然后从后往前替换codeclass Solution {public: void replaceSpace(char *str,int length) { ...原创 2019-12-20 15:59:39 · 313 阅读 · 0 评论 -
剑指offer刷题笔记——二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。实例Consider the following matrix:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, ...原创 2019-12-20 15:43:08 · 334 阅读 · 0 评论 -
剑指offer刷题笔记——数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路要求:时间复杂度O(N),空间复杂度O(1)复杂度要求表明不能使用排序,也不能使用 map/set注意到...原创 2019-12-20 15:24:09 · 312 阅读 · 0 评论
分享