乘风的小站
  • 首页
  • 归档
  • 标签
  • 关于

剑指offer 题解汇总

说明12按照《剑指 offer》目录的顺序,整理每一题的代码。刷题系统:以牛客网为主,leetcode 补充部分题目。 传送门牛客网leetcode 题目汇总剑指3:数组中重复的数字剑指4:二维数组中的查找剑指5:替换空格剑指6:从尾到头打印链表剑指7:重建二叉树剑指8:二叉树的下一个节点剑指9:用两个栈实现队列剑指10:斐波那契数列剑指10-II:跳台阶剑指10-III:变态跳台阶剑指11:旋
2021-02-04
#剑指

剑指68-II:二叉树的最近公共祖先

传送门leetcode 题目描述普通二叉树,在左右子树中查找是否存在 p 或者 q,如果 p 和 q 分别在两个子树中,那么说明根节点就是最近公共祖先。 C++ 代码 - leetcode12345678910111213141516171819202122232425262728293031323334/* 经典问题,递归函数的定义:输入三个参数 root,p,q,它会返回一个节点。
2021-02-04
#剑指

剑指68:二叉搜索树的最近公共祖先

传送门nowcoderleetcode 题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 C++ 代码 - nowcoder123456789101112131415161718192021222324252627282930class Solution {public: int lowestCommonAncestor(TreeNode* root, int
2021-02-04
#剑指

剑指67:把字符串转换成整数

传送门nowcoderleetcode 题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。数值为 0 或字符串不是一个合法的数值,则返回 0 。 数据范围:字符串长度满足 0 <= n <=100要求:空间复杂度 O(1),时间复杂度 O(n) C++ 代码 - nowcoder12345678910111213141516171819202122232425/*
2021-02-03
#剑指

剑指66:构建乘积数组

传送门nowcoderleetcode 题目描述给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] = A[0]A[1]...A[i-1]*A[i+1]...*A[n-1],不能使用除法。规定: B[0] = A[1]A[2]*...*A[n-1], B[n-1] = A[0]A[1]*...*A[n-2] C++ 代码 - nowcoder12345
2021-02-03
#剑指

剑指65:不用加减乘除做加法

传送门nowcoderleetcode 题目描述写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、*、/四则运算符号。 C++ 代码 - nowcoder1234567891011121314151617181920212223/* 1.两个数异或:等价于每一位相加,而不考虑进位。 2.两个数相与,并左移一位:等价于求出进位。 3.将上述两步的结果相加。 递归会终
2021-02-03
#剑指

剑指64:求1+2+...+n

传送门nowcoderleetcode 题目描述求 1 + 2 + 3 + … + n,要求:不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句。 C++ 代码 - nowcoder12345678910111213141516171819202122232425/* 逻辑与的短路特性,实现递归终止 当 n == 0 时,(n >
2021-02-03
#剑指

剑指63:股票的最大利润

传送门nowcoderleetcode 题目描述把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? C++ 代码 - nowcoder12345678910111213141516171819/* 贪心策略 假设第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。*/class Solution {public: in
2021-02-03
#剑指

剑指62:圆圈中最后剩下的数字

传送门nowcoderleetcode 题目描述首先,n 个人围成一个大圈,编号是 0~n-1。然后,随机指定一个数 m ,让编号为 0 的人开始报数。每次喊到 m-1 的人出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中。从下一个人开始,继续 0…m-1 报数。这样下去,直到剩下最后一个人,可以不用表演,并且拿到典藏版礼物。 C++ 代码 - nowcoder12345678910
2021-02-03
#剑指

剑指61:扑克牌中的顺子

传送门nowcoderleetcode 题目描述五张牌,其中大小王可以看作任意牌,牌面为 0。现在有2副扑克牌,从扑克牌中随机五张扑克牌,判断是不是顺子。 C++ 代码 - nowcoder12345678910111213141516171819202122232425262728293031323334/* 数组排序,然后计算所有相邻数字间隔总数。 统计 0 的个数,
2021-02-03
#剑指
1…1415161718…32

搜索

Hexo Fluid
有态度,有坚持~