剑指offer
文章平均质量分 93
剑指offer题目解答
负雪明烛
北京邮电大学计算机硕士毕业,阿里巴巴工程师。坚持写算法题博客 6 年,博客在全网获得数百万阅读。微信公众号:「负雪明烛」
展开
-
剑指 Offer II 002. 二进制加法
作者: 负雪明烛id: fuxuemingzhu个人博客: http://fuxuemingzhu.cn/公众号:负雪明烛本文关键词:Leetcode, 力扣,加法,两数之和,求加法,二进制加法,Python, C++, Java目录题目描述题目大意解题方法解题方法:模拟法十进制加法二进制加法代码在代码中需要注意的有:代码中的巧妙之处:类似题目总结日期[LeetCode]题目地址:https://leetcode-cn.com/problems/JFETK5/题目描述给定两个 01 .原创 2021-11-03 09:16:19 · 1197 阅读 · 0 评论 -
【剑指Offer】04. 二维数组中的查找 解题报告(Java & Python & C++)
【剑指Offer】二维数组中的查找 解题报告(Java & Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是...原创 2017-04-20 15:26:20 · 825 阅读 · 0 评论 -
【剑指Offer】06. 从尾到头打印链表 解题报告(Java & python)
【剑指Offer】从尾到头打印链表 解题报告标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个链表,从尾到头打印链表每个节点的值。Ways先存到ArrayList里再反转,不算作弊吧。/*** public class ListNode {* ...原创 2017-04-20 18:37:03 · 869 阅读 · 1 评论 -
【剑指Offer】07. 重建二叉树 解题报告(Java & Python & C++)
【剑指Offer】重建二叉树 解题报告(Java & Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6...原创 2017-04-20 20:14:26 · 657 阅读 · 0 评论 -
【剑指Offer】调整数组顺序使奇数位于偶数前面 解题报告(Python)
【牛客网】调整数组顺序使奇数位于偶数前面 解题报告标签(空格分隔): 牛客网题目地址:https://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593?orderByHotValue=1&page=1&onlyReference=false题目描述:输入一个整数数组,实现一个...原创 2017-08-30 15:32:11 · 1565 阅读 · 0 评论 -
【剑指Offer】09. 用两个栈实现队列 解题报告(python & C++)
【剑指Offer】用两个栈来实现队列 解题报告(python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。Ways第一个栈临时保存插入的数据,当调用弹出函数的时候,如果stack2不为空...原创 2018-03-09 16:34:22 · 3595 阅读 · 0 评论 -
【剑指Offer】旋转数组中的最小数字 解题报告(Python)
【剑指Offer】旋转数组中的最小数字 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2...原创 2018-03-09 18:04:06 · 801 阅读 · 0 评论 -
【剑指Offer】10- I. 斐波那契数列 解题报告(Python & C++)
【剑指Offer】斐波那契数列 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39Ways直接递归解法由于有很多的重复计算,因此会超时。 所以可以使用字...原创 2018-03-09 18:29:08 · 1771 阅读 · 0 评论 -
【剑指Offer】10- II. 青蛙跳台阶问题 解题报告(Python & C++)
【剑指Offer】跳台阶 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。Ways其实就是费布拉奇数列的翻版。只有一个台阶时有1种跳法,有两个台阶时有2中跳法。...原创 2018-03-09 18:37:34 · 540 阅读 · 0 评论 -
【剑指Offer】变态跳台阶 解题报告(Python)
【剑指Offer】变态跳台阶 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。Ways数学归纳法可以得出这个题的结果是2的n-1次方。来...原创 2018-03-09 18:58:54 · 2897 阅读 · 4 评论 -
【剑指Offer】矩阵覆盖 解题报告(Python)
【剑指Offer】矩阵覆盖 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?Ways还是费布拉奇数列。主要是明白这个思想呀...原创 2018-03-09 20:04:00 · 855 阅读 · 0 评论 -
【剑指Offer】二进制中1的个数 解题报告(Python)
【剑指Offer】二进制中1的个数 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。Ways注意啦,不能使用bin(n).count(‘1’)这个做法,因为n是负数时该式子不成立。可...原创 2018-03-10 22:59:05 · 2765 阅读 · 5 评论 -
【剑指Offer】字符串的排列 解题报告(Python)
【剑指Offer】字符串的排列 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 ...原创 2018-03-10 23:50:35 · 5581 阅读 · 3 评论 -
【剑指Offer】数值的整数次方 解题报告(Python)
【剑指Offer】数值的整数次方 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。Ways方法一:使用循环去做。题目中已经明确了ex...原创 2018-03-11 11:09:11 · 1856 阅读 · 3 评论 -
【剑指Offer】链表中倒数第k个节点 解题报告(Python)
【剑指Offer】链表中倒数第k个节点 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个链表,输出该链表中倒数第k个结点。Ways这个题的做法大家应该都知道了,就是使用两个指针,走在前面的指针比走在后面的指针优先k-1步,这样当走在前面的指针...原创 2018-03-11 12:43:56 · 2528 阅读 · 0 评论 -
【剑指Offer】反转链表 解题报告(Python)
【剑指Offer】反转链表 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个链表,反转链表后,输出链表的所有元素。Ways这个题就是【LeetCode】Reverse Linked List 解题报告这个题。思路也一样。用temp...原创 2018-03-11 14:30:05 · 2139 阅读 · 0 评论 -
【剑指Offer】合并两个排序的链表 解题报告(Python)
【剑指Offer】合并两个排序的链表 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。Ways合并两个有序的链表,暴力解法肯定不可取。可以采用下面的这个做法,...原创 2018-03-11 15:10:56 · 534 阅读 · 0 评论 -
【剑指Offer】树的子结构 解题报告(Python)
【剑指Offer】树的子结构 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)Ways需要两个函数,一个用来判断是不是子结构,另外一个是用来进行初始化。判断...原创 2018-03-11 16:42:19 · 2279 阅读 · 1 评论 -
【剑指Offer】二叉树的镜像 解题报告(Python)
【剑指Offer】二叉树的镜像 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ ...原创 2018-03-19 16:44:56 · 2067 阅读 · 0 评论 -
【剑指Offer】顺时针打印矩阵 解题报告(Python)
【剑指Offer】顺时针打印矩阵 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 ...原创 2018-03-19 16:52:30 · 718 阅读 · 0 评论 -
【剑指Offer】包含min函数的栈 解题报告
【剑指Offer】包含min函数的栈 解题报告标签(空格分隔): 牛客网题目地址:https://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593?orderByHotValue=1&page=1&onlyReference=false题目描述:定义栈的数据结构,请在该类型中实现...原创 2018-03-19 17:01:59 · 415 阅读 · 0 评论 -
【剑指Offer】栈的压入、弹出队列 解题报告(Python)
【剑指Offer】栈的压入、弹出队列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,...原创 2018-03-19 17:32:01 · 1580 阅读 · 0 评论 -
【剑指Offer】从上往下打印二叉树 解题报告(Python)
【剑指Offer】从上往下打印二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题方法使用队列保存,每次把队列里的原先内容进行出队列操作,再把每个元素的非空左右子节点进入队列。因此即可得到每...原创 2018-03-19 19:28:11 · 1294 阅读 · 0 评论 -
【剑指Offer】二叉搜索树的后序遍历序列 解题报告(Python)
【剑指Offer】二叉搜索树的后序遍历序列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题方法我们都...原创 2018-03-20 09:47:23 · 2372 阅读 · 0 评论 -
【剑指Offer】二叉树中和为某一值的路径 解题报告(Python)
【剑指Offer】二叉树中和为某一值的路径 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题方法其实...原创 2018-03-20 09:58:35 · 1562 阅读 · 0 评论 -
【剑指Offer】复杂链表的复制 解题报告(Python)
【剑指Offer】复杂链表的复制 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数...原创 2018-03-20 10:50:10 · 2389 阅读 · 2 评论 -
【剑指Offer】二叉搜索树与双向链表 解题报告(Python)
【剑指Offer】二叉搜索树与双向链表 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题方法这个题还真的不好想,不过看到BST...原创 2018-03-20 11:31:22 · 2352 阅读 · 0 评论 -
【剑指Offer】数组中出现次数超过一半的数字 解题报告(Python)
【剑指Offer】数组中出现次数超过一半的数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数...原创 2018-03-21 11:24:31 · 2694 阅读 · 0 评论 -
【剑指Offer】最小的K个数 解题报告(Python)
【剑指Offer】最小的K个数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。解题方法这个是面试被问过的题目,做法就是使用一个堆...原创 2018-03-21 11:44:15 · 1668 阅读 · 0 评论 -
【剑指Offer】连续子数组的最大和 解题报告(Python)
【剑指Offer】连续子数组的最大和 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决...原创 2018-03-22 14:13:58 · 810 阅读 · 0 评论 -
【剑指Offer】把数组排成最小的数 解题报告(Python)
【剑指Offer】把数组排成最小的数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323...原创 2018-03-22 15:09:47 · 3100 阅读 · 0 评论 -
【剑指Offer】丑数 解题报告
【剑指Offer】丑数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。解题方...原创 2018-03-22 15:28:02 · 615 阅读 · 0 评论 -
【剑指Offer】第一个只出现一次的字符 解题报告(Python)
【剑指Offer】第一个只出现一次的字符 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置解题方法没想到这么简单的题,竟然在剑指Off...原创 2018-03-22 15:33:20 · 2283 阅读 · 1 评论 -
【剑指Offer】52. 两个链表的第一个公共节点 解题报告(Python)
【剑指Offer】两个链表的第一个公共节点 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入两个链表,找出它们的第一个公共结点。解题方法既然想到了,是从后往前找第一个不公共的,所以可以用栈来做呀~~全部入栈,然后同时出栈,直到不相等为止就行。代...原创 2018-03-22 19:27:33 · 1502 阅读 · 0 评论 -
【剑指Offer】数字在排序数组中出现的次数 解题报告(Python)
【剑指Offer】数字在排序数组中出现的次数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:统计一个数字在排序数组中出现的次数。解题方法看到有序,使用二分查找。使用二分找到这段连续的k的最左边的位置,最右边的位置,两个相减+1就是长度了。代码...原创 2018-03-24 19:03:37 · 1232 阅读 · 2 评论 -
【剑指Offer】二叉树的深度 解题报告(Python & C++)
【剑指Offer】二叉树的深度 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题方法找到左右子树最大深度+1即可,递归的终止条件...原创 2018-03-24 19:07:04 · 669 阅读 · 0 评论 -
【剑指Offer】平衡二叉树 解题报告(Python & C++)
【剑指Offer】平衡二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题方法平衡二叉树的定义是任何节点的左右子树高度差都不超过1的二叉树。按照定义,很容易得出获得左右子树高度,然后判断。递归写...原创 2018-03-25 16:08:58 · 1944 阅读 · 0 评论 -
【剑指Offer】数组中只出现一次的数字 解题报告(Python)
【剑指Offer】数组中只出现一次的数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解题方法这个题和260. Single Number III完...原创 2018-03-25 16:39:41 · 2077 阅读 · 0 评论 -
【剑指Offer】和为S的两个数字 解题报告(Python)
【剑指Offer】和为S的两个数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,...原创 2018-03-25 17:32:44 · 1352 阅读 · 0 评论 -
【剑指Offer】和为S的连续正数序列 解题报告(Python)
【剑指Offer】和为S的连续正数序列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两...原创 2018-03-26 15:11:12 · 2662 阅读 · 3 评论