剑指offer

2024/4/12 2:13:11

剑指offer第二版(Python3)--面试题25:合并两个排序的链表,合并K个排序链表

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16:数值的整数次方 面试题21:调整数组顺序使奇数位于偶数前面 面试题22:链表中倒数第k个结点 面试题24 :翻转链表 面试题25 :合并两个排序的链表,合并…

剑指offer第二版(Python3)--面试题27:二叉树的镜像

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 :二叉树的镜像 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述 牛客网   操作给定的二叉树,将其变换为源二叉树的镜像。 解题思路…

剑指offer第二版(Python3)--面试题31:栈的压入、弹出序列

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 :二叉树的镜像 面试题29 :顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 第5章 优化时间和空间效率 第6章 面试中的…

剑指offer II. 数据流的第K大数值

剑指 Offer II 059. 数据流的第 K 大数值 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 运行结果 代码 #define MIN 0x80000000 class KthLargest {int* minHeap;int K; public:KthLargest(int k, vector<int>& nums) {K k;minHeap new int[k 1];…

剑指offer 14 - I. 剪绳子(贪心,DP)

剑指 Offer 14- I. 剪绳子 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 贪心 运行结果 代码 分析 把【长度>4】的绳子任意切成【长度>1】两段&#xff0c;那么这两段长度之积一定不小于原长度。 对于任意一段长度超过4的绳子&#xff0c;我们均…

剑指offer 13. 机器人的运动范围

剑指 Offer 13. 机器人的运动范围 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) class Solution {int m, n, k;vector<vector<bool>> not_visited; public:int movingCount(int M, int N, int K) {m M; n N; k K;not_visited vector<vector…

剑指offer 65. 不用加减乘除做加法

剑指 Offer 65. 不用加减乘除做加法 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 运行结果 思路 代码 运行结果 思路 加法可以分解为两个步骤&#xff1a; 1. 各位相加&#xff0c;忽略进位&#xff1b;可以使用异或^来完成。 2. 把上一步取得的结果…

剑指offer 68 - I. 二叉搜索树的最近公共祖先

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 题解 运行结果 拓展&#xff1a;查找任意二叉树的任意两个节点的最近公共祖先 思路 代码&#xff08;含注释&#xff09; 检验运行结果 题解 由于树是二…

剑指offer第二版(Python3)--面试题26:树的子结构

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 面试题24 &#xff1a;翻转链表 面试题25 &#xff1a;合并两个排序的链表 面试题26 &#…

(二十四)剑指offer之整数中1出现的次数

题目描述&#xff1a; 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数&#xff1f;为此他特别数了一下1~13中包含1的数字有1、10、11、12、13。因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整…

JavaScript——反转链表

题目描述 输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 例如&#xff1a; 输入&#xff1a;a->b->c->d->e 输出&#xff1a;a<-b<-c<-d<-e 反转链表示意图如下&#xff0c;链表的最后一个元素next指向null。 /*function Li…

剑指offer 每日一练 - 矩阵的顺时针打印

输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字&#xff0c;例如&#xff0c;如果输入如下矩阵&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.题目分析&#xff1a;题目的重点主要是…

打印从1到最大的n位数 — C++实现

题目描述 输入数字n&#xff0c;按顺序打印出从1到最大的n位十进制数。比如输入3&#xff0c;则打印出1&#xff0c;2&#xff0c;3一直到最大的3位999。 盆友们首先想到的是for循环挨个输出&#xff0c;但是这样的话会有n过大&#xff0c;位数过高而造成溢出的情况 解题思路1…

剑指offer—52.两个链表的第一个公共结点—分析及代码(Java)

剑指offer——52.两个链表的第一个公共结点——分析及代码[Java]一、题目二、分析及代码1. 同步位置&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入两个链表&#xff0c;找出它们的第一个公共结点。&#xf…

二维数组中的查找的两种解法及C++实现

二维数组中的查找的两种解法及C实现 题目描述 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。 请完成一个函数&#xff0c;输入这样的一个二维数组&#xff0c;判断数组中是否含有该整数。 例如下面二维数…

二维数组判断数组中是否含有该整数。

* 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。 * 请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 public static boolean find(int[][] matrix, …

剑指offer—15.二进制中 1 的个数——分析及代码(Java)

剑指offer——15.二进制中 1 的个数——分析及代码[Java]一、题目二、分析及代码1. 各位依次判断&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果2. 更高效的算法&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#…

剑指offer—18.删除链表的节点——分析及代码(Java)

剑指offer——18.删除链表的节点——分析及代码[Java]一、题目二、分析及代码1. 依次处理&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 在一个排序的链表中&#xff0c;存在重复的结点&#xff0c;请删除该链表…

剑指offer—7.重建二叉树——分析及代码(Java)

剑指offer——7.重建二叉树——分析及代码[Java]一、题目二、分析及代码1. 递归&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的…

剑指offer(一):二维数组中的查找--数组1

一、题目 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 1、思路一 首先选取数组中右上角的数字。如…

剑指offer第二版(Python3)--面试题54 : 二叉搜索树的第k个结点

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

(二十三)剑指offer之连续子数组的最大和

题目描述&#xff1a; HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了&#xff1a;在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边…

(十六)剑指offer之二叉搜索树的后序遍历序列

题目描述&#xff1a; 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 class Solution { public:bool VerifySquenceOfBST(vector<int> sequence) {int length …

(四)剑指offer之重建二叉树

题目描述&#xff1a; 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}&#xff0c;则重建二叉树并返回。 /*** Def…

JavaScript——二进制中1的个数

题目描述 输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 function NumberOf1(n) {// write code here//自己的方法 当时考虑了各种整数转二进制数&#xff0c;二进制数转整数的方法。最后没做出来&#xff0c;对数组和字符串的操作有了更深一步…

JavaScript——数值的整数次方(快速幂算法实现)

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 function Power(base, exponent) {// write code here//方法一&#xff1a;调用幂函数//return Math.pow(base,exponent);//方法二:效率优化//连乘时间复杂度O(n)//当指数exponent很…

JavaScript——重建二叉树

题目描述 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}&#xff0c;则重建二叉树并返回。 首先&#xff0c;在没有…

输入个链表的头结点,从尾到头反过来打印出每个结点的值

输入个链表的头结点&#xff0c;从尾到头反过来打印出每个结点的值 public static void printListInverselyUsingIteration(ListNode root) {Stack<ListNode> stack new Stack<>();while (root ! null) {stack.push(root);root root.nxt;}ListNode tmp;while (!s…

剑指offer第二版(Python3)--面试题30:包含min函数的栈

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题29 &#xff1a;顺时针打印矩阵 面试题30 &#xff1a;包含min函数的栈 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 牛客网 题目…

剑指Offer----旋转数组的最小数字 (java实现)

题目描述 把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转&#xff0c;该数组的最小值为1。 …

剑指offer(1)——C++实现二维数组中的查找

/*二维数组查找*/ #include<iostream> #include<vector> using namespace std; class Solution { public:bool Find(int target, vector<vector<int> > array) {int rows array.size();int cols array[0].size();int i 0;int j cols - 1;while (i …

《剑指offer》-- 重建二叉树

一、题目描述 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}&#xff0c;则重建二叉树并返回。 二、算法思想 本题…

剑指offer第二版(Python3)--面试题45 : 把数组排成最小的数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 第…

《剑指offer》 -- 变态跳台阶

一、题目描述 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法&#xff08;先后次序不同算不同的结果&#xff09;。 二、解题思想 其实就是费布拉奇数列的翻版。只有一个台阶时有1种跳法&#xff0c;有两个台阶时有2中跳…

剑指offer 55. 平衡二叉树

剑指 Offer 55 - II. 平衡二叉树 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 解法 运行结果 代码 解法 自底向上检查每一个节点&#xff0c;如果平衡&#xff0c;那么返回该节点的深度&#xff1b;如果不平衡&#xff0c;那么返回-1 运行结果 代码…

二叉树的镜像 — C++实现

题目描述 操作给定的二叉树&#xff0c;将其变换为源二叉树的镜像。 源二叉树和镜像二叉树的结构示意如下&#xff1a; 源二叉树 8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 5牛客网题目链接 解题思路 注意理解是二叉树的镜像&#xff0c;不是二…

(十三)剑指offer之顺时针打印矩阵

题目描述&#xff1a; 输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字。 例如&#xff0c;如果输入如下矩阵&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. class Solution…

找规律——矩形覆盖

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形&#xff0c;总共有多少种方法&#xff1f; 对问题进行分析&#xff1a; 得出规律 &#xff1b; function rectCover(number) {// write code here//从n…

剑指Offer(java答案)

剑指Offer&#xff08;java答案&#xff09; 剑指Offerjava答案3二维数组中的查找4替换空格5从尾到头打印链表6重建二叉树7用两个栈实现队列8旋转数组的最小数字9斐波那契数列扩展1跳台阶扩展2变态跳台阶 10二进制中1的个数11数值的整数次方12打印1到最大的n位数13在O1时间删除…

剑指offer第二版(Python3)--面试题61 :扑克牌中的顺子

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer 第二版(Python3)--二维数组中的查找

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述   在一个二维数组中&#xff08;每个一维数组的长度相同&#xff09;&…

剑指offer—59.滑动窗口的最大值—分析及代码(Java)

剑指offer——59.滑动窗口的最大值——分析及代码[Java]一、题目二、分析及代码1. 辅助队列&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 给定一个数组和滑动窗口的大小&#xff0c;找出所有滑动窗口里数值的最…

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字

数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字 定义变量一个是要找的数一个是出现的次数遍历数组找到相同的次数否则抵消次数--最后结束的数就是可能大于数组一半的数1 2 2 5 4 5 5 5 5 6 1 1 2 1 22 …

剑指offer 第二版(Python3)--面试题13:机器人的运动范围

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契数列 面试题11&#xff1a;旋转数组的最…

连续子数组的最大和 — C++实现

题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢&#…

剑指Offer题解——调整数组顺序使奇数位于偶数前面

一、题目描述 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有的奇数位于数组的前半部分&#xff0c;所有的偶数位于数组的后半部分&#xff0c;并保证奇数和奇数&#xff0c;偶数和偶数之间的相对位置不变。 二、分析 看到题目后首先…

剑指offer根据前序遍历和中序遍历重建二叉树JAVA

输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}&#xff0c;则重建二叉树并返回。 /*** Definition for binary tree*…

js——替换字符串中的空格

题目背景&#xff1a; 在网络编程中&#xff0c;如果URL参数中含有特殊字符&#xff0c;如空格、#等&#xff0c;可导致服务器端无法获取正确的参数值。解决方案&#xff1a;将这些符号转换成浏览器可以识别的字符&#xff0c;转换规则是在%后面添加特殊字符ASCII码的十六进制…

剑指offer(5)——C++实现两个栈完成队列的输入输出

题目 两个栈实现队列的pop和push 考察点 队列与栈的概念 解题思路 stack1表示入队列&#xff0c;stack2表示出队列。 完整代码 /*05_stacktoqueue*/ #include<iostream> #include<stack> using namespace std;class Solution { public:void push(int node) …

合并两个排序的链表 — C++实现

题目描述 输入两个单调递增的链表&#xff0c;输出两个链表合成后的链表&#xff0c;当然我们需要合成后的链表满足单调不减规则。 牛客网题目链接 求解思路 给出两个链表&#xff0c;我们需要先比较两个结点的头结点&#xff0c;将小的结点保存&#xff0c;然后将这个结点…

剑指offer 第二版(Python3)--面试题12:矩阵中的路径

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契数列 面试题11&#xff1a;旋转数组的最…

剑指offer第二版(Python3)--替换空格

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述   请实现一个函数&#xff0c;将一个字符串中…

剑指offer -- 和为 S 的连续正数序列

题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不…

剑指offer第二版(Python3)--面试题51 : 数组中的逆序对

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题36:二叉搜索树与双向链表

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33: 二叉搜索树的后序遍历序列 面试题34: 二叉树中和为某一…

输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的

/*** 输入两个递增排序的链表&#xff0c;合并这两个链表并使新链表中的结点仍然是按照递增排序的** param head1 第一个有序链表* param head2 第二个有序链表* return 合并后的有序链表头*/ public static ListNode merge(ListNode head1, ListNode head2) {// 如果第一个链…

判断一个二叉树是不是另一个二叉树的子结构

/*** 输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。* 该方法是在A树中找到一个与B树的根节点相等的元素的结点&#xff0c;* 从这个相等的结点开始判断树B是不是树A的子结构&#xff0c;如果找到其的一个就返回&#xff0c;* 否则直到所有的结点都找完为止。** param …

输入一个二叉树,该函数输出它的镜像

/*** 请完成一个函数&#xff0c;输入…个二叉树&#xff0c;该函数输出它的镜像** param node 二叉树的根结点*/public static void mirror(BinaryTreeNode node) {// 如果当前结点不为空则进行操作if (node ! null) {// 下面是交换结点左右两个子树BinaryTreeNode tmp node.…

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。

/*** 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。* 【此方法与上一个方法不同&#xff0c;未进行空值判断&#xff0c;对于数组度为0的情况返回的true也于上题不同&#xff0c;* 此方法只是上面一个方法的辅助实现&#xff0c;对于数数组为nu…

【Leetcode刷题】题3.数组中重复的数字

原题链接&#xff1a; https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof 题目描述 在一个长度为 nnn 的数组 numsnumsnums 里的所有数字都在 000 ~ n−1n-1n−1 的范围内。 数组中某些数字是重复的&#xff0c;但不知道有几个数字是重复&#xff0c;也不…

剑指offer第二版(Python3)--面试题57 : 和为s的连续正数序列、和为s的数字

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer 16. 数值的整数次方

剑指 Offer 16. 数值的整数次方 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 运行结果 分析 代码 运行结果 分析 如何快速求出x的高次幂&#xff1f; 注意到&#xff0c;n可以写成以下形式&#xff1a; n 2*p q其中: p n / 2 n >> 1 q n…

输入一棵二叉树和一个整数, 打印出二叉树中结点值的和为输入整数的所有路径。

/*** 输入一棵二叉树和一个整数&#xff0c; 打印出二叉树中结点值的和为输入整数的所有路径。* 从树的根结点开始往下一直到叶销点所经过的结点形成一条路径。** param root 树的根结点* param expectedSum 要求的路径和*/ public static void findPath(BinaryTreeNod…

缺失的数字-二分查找(剑指offer53)-C++

class Solution { public:int missingNumber(vector<int>& nums) {for(int i 0; i < nums.size(); i){if(nums[i] ! i) return i;}return nums.size();} };

出圈约瑟夫问题

有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最后一个小朋友,求最后一个小朋友的编号 (注&#xff1a;小…

剑指offer(2)——C++实现替换空格

问题描述 把字符串中每个空格用%20替换 考察知识点 字符串编程能力内存覆盖 解题思路 原字符串操作时&#xff0c;要考虑内存覆盖问题&#xff0c;即一个\0要被%&#xff0c;2&#xff0c;0三个字符替换。从后往前&#xff0c;遇到空格时&#xff0c;新字符串增加两个字符…

将数组data中start到end之间的数字反转

/*** 将data中start到end之间的数字反转** param data* param start* param end*/ public static void reverse(char[] data, int start, int end) {if (data null || data.length < 1 || start < 0 || end > data.length || start > end) {return;}while (start …

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。

/*** 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到校的最小元素的min函数。* 在该栈中&#xff0c;调用pop、push 及min的时间复杂度都是0(1)* param <T> 泛型参数*/ public static class StackWithMin<T extends Comparable<T>> {// 数据栈&…

剑指offer(3)——C++实现链表的反向输出

题目描述 给定一个链表&#xff0c;反向输出。 考察知识 链表的创建以及常规操作栈的使用 解题思路 先进去的后输出&#xff0c;自然想到是栈的特点&#xff0c;故使用栈来实现。递归的本质也是栈。 完整代码 /*03_printlist*/ #include<iostream> #include<ve…

JavaScript——青蛙跳台阶

题目描述 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法&#xff08;先后次序不同算不同的结果&#xff09;。 function jumpFloor(number) {// write code here//自己先写几个&#xff0c;多少台阶几种跳法。属于找规律…

剑指offer第二版(Python3)--面试题20:表示数值的字符串

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题20&#xff1a;表示数值的字符串 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 面试题23 &#xff1a;链表中环的入口 面试题24 &am…

找排序数组中k第一次出现的位置

找排序数组中k第一次出现的位置 private static int getFirstK(int[] data, int k, int start, int end) {if (data null || data.length < 1 || start > end) {return -1;}int midIdx start (end - start) / 2;int midData data[midIdx];if (midData k) {if (midI…

剑指offer—10.斐波那契数列——分析及代码(Java)

剑指offer——10.斐波那契数列——分析及代码[Java]一、题目二、分析及代码1. 动态规划&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 大家都知道斐波那契数列&#xff0c;现在要求输入一个整数 n &#xff0c;请…

剑指Offer【1-10】Java实现

1、在一个二维数组中&#xff08;每个一维数组的长度相同&#xff09;&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 …

剑指Offer题解——链表中倒数第k个结点

一、题目 描述输入一个链表&#xff0c;输出该链表中倒数第k个结点。 二、分析 思路&#xff1a; 定义快指针和慢指针。 快指针先走 k-1 步&#xff0c;到达第 k 个节点。 然后两指针同时齐步走&#xff0c;当快指针到达末尾时&#xff0c;慢指针在倒数第 k 个节点上。 …

剑指offer第二版(Python3)--面试题41 : 数据流中的中位数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题41 : 数据流中的中位数 面试题42 : 连续子数组的最大和 第6章 面试中的各项能力 第7章 两个面试案…

剑指offer刷题笔记—— 二进制中1的个数(巧用,简单好用一生推!)

二进制中1的个数 原题&#xff1a; 思路 之前想的是个笨办法&#xff0c;怎么把数字转化成二进制的形式&#xff0c;然后再统计1个个数。 后来发现&#xff0c;要巧用 “&”, 无需转换成二进制&#xff01;&#xff01;&#xff01; 方法1 按位循环& 有一个性质&…

剑指offer第二版(Python3)--面试题43 : 从1到n整数中1出现的次数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 第6章 面试中的各项能力 第7章 两…

剑指offer第二版(Python3)--面试题40 : 最小的k个数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 第6章 面试中的各项能力 第7章 两个面试案例 题目描述 牛客网   输入n个整数&#xff0c;找出其中最小…

剑指offer第二版(Python3)--面试题39 : 数组中出现次数超过一半的数字

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33: 二叉搜索树的后序遍历序列 面试题34: 二叉树中和为某一…

剑指offer-2 -- 替换空格 - C++

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路&#xff1a; 由于函数返回为void&#xff0c;说明此题不能另外开辟数组&#xff0c;需…

字符串中第一个不重复的字符----java实现

----字符流中第一个不重复的字符----java实现 import java.util.ArrayList; import java.util.HashMap;public class First {HashMap<Character,Integer> map new HashMap<Character,Integer>();//存放字符和其出现的次数ArrayList<Character> list new A…

剑指Offer【11-20】Java实现

11、输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 public class Solution {public int NumberOf1(int n) {int num 0;int[] arr new int[32];if(n > 0){arr getT(n);}else if(n < 0){arr getC(n);}else{return 0;}for(int i0; i<…

调整数组顺序使奇数位于偶数前 — C++实现

题目描述 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有的奇数位于数组的前半部分&#xff0c;所有的偶数位于数组的后半部分&#xff0c;并保证奇数和奇数&#xff0c;偶数和偶数之间的相对位置不变。 牛客网题目链接 解题思路 若…

链表中环的入口结点 — C++实现

题目描述 给一个链表&#xff0c;若其中包含环&#xff0c;请找出该链表的环的入口结点&#xff0c;否则&#xff0c;输出null。 牛客网题目链接 解题思路 使用快慢两个指针实现&#xff0c;若存在环&#xff0c;则两指针会在环内相遇&#xff0c;然后让快指针指向头结点&a…

字符串的排列 — C++实现

题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 牛客网题目链接 解…

剑指offer:正则表达式匹配(回溯,动态规划)

题目&#xff1a; 请实现一个函数用来匹配包括.和*的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而*表示它前面的字符可以出现任意次&#xff08;包含0次&#xff09;。 在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"…

二叉树中和为某一值的路径 — C++实现

题目描述 输入一颗二叉树的根节点和一个整数&#xff0c;按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 牛客网题目链接 解题思路 首先&#xff0c;只有遍历到叶子结点的路径才称之路径。…

序列化二叉树 — C++实现

题目描述 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树 二叉树的序列化是指&#xff1a;把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串&#xff0c;从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍…

表示数值的字符串 — C++实现

题目描述 请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。例如&#xff0c;字符串"100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"5"和&quo…

剑指offer—13.机器人的运动范围——分析及代码(Java)

剑指offer——13.机器人的运动范围——分析及代码[Java]一、题目二、分析及代码1. 回溯法&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动&#xff…

删除链表相邻重复的节点

删除链表相邻重复的节点 private static class ListNode {private int val;private ListNode next;public ListNode() {}public ListNode(int val) {this.val val;}Overridepublic String toString() {return val "";}}private static ListNode deleteDuplication…

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

剑指 Offer 68 - II. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 思路 代码&#xff08;含注释&#xff09; 运行结果 思路 寻找二叉树中任意两个节点的最近公共祖先&#xff0c;可以首先导出从根节点到这两个节点的路径&#…

剑指offer:矩阵中的路径(dfs,回溯)

题目&#xff1a; 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵…

剑指offer—8.二叉树的下一个结点——分析及代码(Java)

剑指offer——8.二叉树的下一个结点——分析及代码[Java]一、题目二、分析及代码1. 分类讨论&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 给定一个二叉树和其中的一个结点&#xff0c;请找出中序遍历顺序的下一…

按之字顺序打印二叉树 — C++实现

题目描述 请实现一个函数按照之字形打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右至左的顺序打印&#xff0c;第三行按照从左到右的顺序打印&#xff0c;其他行以此类推。 牛客网题目链接 解题思路 可参考分行从上到下打印二叉树&#…

剑指offer 62. 圆圈中剩下的数字(约瑟夫环问题)

剑指 Offer 62. 圆圈中最后剩下的数字 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 运行结果 分析 删除第m个数字 序列重组 映射 递推关系 代码 运行结果 分析 删除第m个数字 初始序列&#xff1a; 0, 1, ..., n-1 &#xff08;1&#xff09…

剑指offer 61. 扑克牌中的顺子

剑指 Offer 61. 扑克牌中的顺子 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 运行结果 分析 代码 运行结果 分析 不难发现&#xff0c;如果抽取的5个数出现顺子&#xff0c;那么这5个数&#xff1a; 1. 不能出现重复数字 2. 不考虑0&#xff0c;最大…

剑指offer 54. 二叉搜索树的第k大节点

剑指 Offer 54. 二叉搜索树的第k大节点 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 其实就是中序遍历 class Solution { public:int kthLargest(TreeNode* root, int k) {int count 0;stack<TreeNode*> nodeStack;while (root || !nodeStack.empty()) …

剑指offer 12. 矩阵中的路径

剑指 Offer 12. 矩阵中的路径 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 非递归写法&#xff08;含注释&#xff09; 运行结果 递归写法 运行结果 非递归写法&#xff08;含注释&#xff09; class Solution {enum class direction { N, U, D, L,…

剑指offer 40. 最小的k个数字

剑指 Offer 40. 最小的k个数 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 利用堆 代码 运行结果 利用快速排序 代码 运行结果 利用堆 代码 #define top 0 #define NOP 0 class Solution {int k; public:vector<int> getLeastNumbers(vector…

剪绳子bug

题目&#xff1a; 剑指 Offer 14- II. 剪绳子 II - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) bug答案&#xff1a; class Solution {int N 1000000007; public:int cuttingRope(int n) {if (n 2) return 1; //处理两个特殊情况else if (n 3) return…

剑指offer 使用两个栈实现队列先进先出JAVA

用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution {//入Stack<Integer> stack1 new Stack<Integer>();//出Stack<Integer> stack2 new Stack<Integer>();public …

剑指offer—11.旋转数组的最小数字——分析及代码(Java)

剑指offer——11.旋转数组的最小数字——分析及代码[Java]一、题目二、分析及代码1. 二分搜索&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为…

剑指offer第二版(Python3)--面试题22:链表中倒数第k个结点

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个…

剑指offer—5.替换空格——分析及代码(Java)

剑指offer——5.替换空格——分析及代码[Java]一、题目二、分析及代码1.依次查找替换&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。 例如&a…

剑指offer—9.用两个栈实现队列——分析及代码(Java)

剑指offer——9.用两个栈实现队列——分析及代码[Java]一、题目二、分析及代码1. 辅助栈&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 用两个栈来实现一个队列&#xff0c;完成队列的 Push 和 Pop 操作。 队列中…

剑指offer—6.从头到尾打印链表——分析及代码(Java)

剑指offer——6.从头到尾打印链表——分析及代码[Java]一、题目二、分析及代码1. 辅助栈&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入一个链表&#xff0c;按链表从尾到头的顺序返回一个ArrayList。 二、…

剑指offer—51.数组中的逆序对—分析及代码(Java)

剑指offer——51.数组中的逆序对——分析及代码[Java]一、题目二、分析及代码1. 归并排序&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xf…

剑指offer—3.数组中重复的数字——分析及代码(Java)

剑指offer——3.数组中重复的数字——分析及代码[Java]一、题目二、分析及代码1.哈希表&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果2.原地交换&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#x…

剑指Offer----用两个栈实现队列(java实现)

题目&#xff1a; 用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作。 队列中的元素为int类型。 package com.xxxx;import java.util.Stack;/*** create by ziqiiii*/ public class Example {//用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作。 队列…

面试题64:求1+2+...+n

面试题64&#xff1a;求12…n 求 12...n &#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&#xff09;。 class Solution {int res0; public:int sumNums(int n) {n>1 && sumNums(n-1); // 短路…

链表中倒数第k个结点 — C++实现

题目描述 输入一个链表&#xff0c;输出该链表中倒数第k个结点。 牛客网题目链接 解题思路 直接思路是遍历链表&#xff0c;遍历的时候压栈&#xff0c;遍历完后出栈&#xff0c;倒数出k个就行。但这样肯定是拿不到Offer的。 可以这么做&#xff0c;拿两个指针从头遍历&am…

给定单向链表的头指针和一个结点指针,定义一个函数在0(1)时间删除该结点,

给定单向链表的头指针和一个结点指针&#xff0c;定义一个函数在0(1)时间删除该结点,​​​​​​​public static ListNode deleteNode(ListNode head, ListNode toBeDeleted) {// 如果输入参数有空值就返回表头结点if (head null || toBeDeleted null) {return head;}// 如…

从上往下打印二叉树 — C++实现

题目描述 从上往下打印出二叉树的每个节点&#xff0c;同层节点从左至右打印。 牛客网题目链接 解题思路 此题属于队列的应用&#xff0c;具体解题过程为&#xff1a; 遇到结点先压入队列中如果其有左右子结点&#xff0c;则再将左右子结点存在队列中&#xff08;置于队尾…

剑指offer—16.数值的整数次方——分析及代码(Java)

剑指offer——16.数值的整数次方——分析及代码[Java]一、题目二、分析及代码1. 二分求解&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent。求 bas…

剑指offer 29. 顺时针打印矩阵

剑指 Offer 29. 顺时针打印矩阵 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) class Solution { public:typedef long long Num;vector<int> spiralOrder(vector<vector<int>>& matrix) {Num row_beg 0, row_end matrix.size();if (row…

剑指offer—4.二维数组中的查找——分析及代码(Java)

剑指offer——4.二维数组中的查找——分析及代码[Java]一、题目二、分析及代码1. 从左下或右上搜索&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 在一个二维数组中&#xff08;每个一维数组的长度相同&#xff…

(一)剑指Offer之二维数组中的查找

题目描述&#xff1a; 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 输入描述: array&#xff…

(七)剑指offer之Fibonacci数列及其变形

1、题目描述&#xff1a; 大家都知道斐波那契数列&#xff0c;现在要求输入一个整数n&#xff0c;请你输出斐波那契数列的第n项。n<39 class Solution { public:int Fibonacci(int n) {if(n 0)return 0;if(n 1)return 1;int i;long long temp1 1;long long temp2 0;lo…

(十一)剑指offer之反转链表和合并链表

1、题目描述&#xff1a; 输入一个链表&#xff0c;反转链表后&#xff0c;输出链表的所有元素。 /* struct ListNode {int val;struct ListNode *next;ListNode(int x):val(x), next(NULL) {} };*/ class Solution { public:ListNode* ReverseList(ListNode* pHead) {if(pHe…

(十四)剑指offer之栈的压入弹出序列及包含min函数的栈

1、题目描述&#xff1a; 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈最小元素的min函数。 class Solution { public:void push(int value) {s_data.push(value);if(s_min_data.size()0 || value < s_min_data.top())s_min_data.push(value);elses_min_d…

(十七)剑指offer之二叉树中和为某一值的路径

题目描述&#xff1a; 输入一颗二叉树和一个整数&#xff0c;打印出二叉树中结点值的和为输入整数的所有路径。 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNod…

(十八)剑指offer之复杂链表的复制

题目描述&#xff1a; 输入一个复杂链表&#xff08;每个节点中有节点值&#xff0c;以及两个指针&#xff0c;一个指向下一个节点&#xff0c;另一个特殊指针指向任意一个节点&#xff09;&#xff0c;返回结果为复制后复杂链表的head。 注意&#xff1a;输出结果中请不要返…

(十五)剑指offer之从上向下打印二叉树

题目描述&#xff1a; 从上往下打印出二叉树的每个节点&#xff0c;同层节点从左至右打印。 ​ /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {} };*/ class Solution { public:vector<…

(二)剑指Offer之替换空格

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 class Solution { public:void replaceSpace(char *str,int length) {if(str NULL || length &l…

面试题65:不用加减乘除做加法

面试题65&#xff1a;不用加减乘除做加法 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用 “”、“-”、“*”、“/” 四则运算符号。 class Solution { public:int add(int a, int b) {while(b!0){int c (unsigned int)(a&b)<<1; // 进…

剑指offer调整数组顺序使奇数位于偶数前面JAVA

题目描述 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有的奇数位于数组的前半部分&#xff0c;所有的偶数位于数组的后半部分&#xff0c;并保证奇数和奇数&#xff0c;偶数和偶数之间的相对位置不变。 public class Solution {pub…

剑指offer 第二版(Python3)--面试题10:斐波那契数列,青蛙跳台阶,青蛙变态跳台阶,矩形覆盖

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契数列 面试题11&#xff1a;旋转数组的最…

剑指offer第二版(Python3)--面试题33: 二叉搜索树的后序遍历序列

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题29 &#xff1a;顺时针打印矩阵 面试题30 &#xff1a;包含min函数的栈 面试题31&#xff1a;栈的压入、弹出序列 面试题32&#xff1a;上往下打印二叉树 面试…

剑指offer第二版(Python3)--面试题32:上往下打印二叉树、之字形打印二叉树、分行从上打下打印二叉树

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题29 &#xff1a;顺时针打印矩阵 面试题30 &#xff1a;包含min函数的栈 面试题31&#xff1a;栈的压入、弹出序列 面试题32&#xff1a;上往下打印二叉树、之字…

剑指offer 第二版(Python3)--面试题15:二进制数中1的个数

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契数列 面试题11&#xff1a;旋转数组的最…

剑指offer 57 - II. 和为s的连续正数序列

剑指 Offer 57 - II. 和为s的连续正数序列 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 解法1&#xff1a;数学手段 运行结果 分析 确定可能的元素个数 根据等差数列所有项之和与项数的关系来筛选 代码 解法2&#xff1a;滑动窗口 运行结果 分析 …

剑指offer笔记——打印从1到最大的n位数(大数越界)

原题 思路 返回一个整数列表的话&#xff0c;数字不超过int32整型取值范围内&#xff0c;不需要考虑大数越界的问题&#xff0c;只需要考虑伟大的n位数与位数n的关系 所以简单的思路便是得到最大的n位数后&#xff0c;从1循环遍历到end&#xff0c;将其放入到数组中即可。 …

二叉搜索树的后序遍历序列 — C++实现

题目描述 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 牛客网题目链接 解题思路 在二叉搜索树中&#xff0c;左子树所有结点的值均小于根结点&#xff0c;右子…

复杂链表的复制的几种解法 — C+++实现

题目描述 输入一个复杂链表&#xff08;每个节点中有节点值&#xff0c;以及两个指针&#xff0c;一个指向下一个节点&#xff0c;另一个特殊指针random指向一个随机节点&#xff09;&#xff0c;请对此链表进行深拷贝&#xff0c;并返回拷贝后的头结点。&#xff08;注意&…

剑指Offer----重建二叉树 (java实现)

题目描述 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 输入 前序遍历序列{1,2,4,7,3,5,6,8} 中序遍历序列{4,7,2,1,5,3,8,6} 则重建二叉树并返回。 定义&#xff1a; 前序遍历&#xff1a…

剑指offer—12.矩阵中的路径——分析及代码(Java)

剑指offer——12.矩阵中的路径——分析及代码[Java]一、题目二、分析及代码1. 回溯法&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所…

(十二)剑指offer之树子结构和二叉树镜像

1、题目描述&#xff1a; 输入两颗二叉树A&#xff0c;B&#xff0c;判断B是不是A的子结构。 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x):val(x), left(NULL), right(NULL) {} };*/ class Solution { public:bool HasSubtre…

求二进制中1的个数的几种解法

题目描述 输入一个整数&#xff0c;输出该数32位二进制表示中1的个数。其中负数用补码表示。 牛客网题目链接 求解思路1 我们可以设置一个无符号整数1&#xff0c;从低位往高位&#xff08;1-32&#xff09;一直移动&#xff0c;然后与整数对应位置的数字进行比较&#xff08…

剪绳子的几种解法 — C++实现

文章目录题目描述动态规划求解求解代码贪心法求解求解代码题目描述 给你一根长度为n的绳子&#xff0c;请把绳子剪成整数长的m段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff0c;m<n&#xff09;&#xff0c;每段绳子的长度记为k[1],…,k[m]。请问k[1]x……

剑指offer—54.二叉搜索树的第k个结点—分析及代码(Java)

剑指offer——54.二叉搜索树的第k个结点——分析及代码[Java]一、题目二、分析及代码1. 中序遍历&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 给定一棵二叉搜索树&#xff0c;请找出其中的第 k 小的结点。例如…

剑指offer—55.二叉树的深度—分析及代码(Java)

剑指offer——55.二叉树的深度——分析及代码[Java]一、题目二、分析及代码1. 递归&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入一棵二叉树&#xff0c;求该树的深度。从根结点到叶结点依次经过的结点&…

剑指Offer----青蛙跳台阶 / LeetCode ---- 70. 爬楼梯 (java实现,递归/迭代)

题目描述一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法&#xff08;先后次序不同算不同的结果&#xff09;思路&#xff1a;&#xff08;采用数学的归纳法&#xff09; 1。上1级台阶&#xff0c;1种方法&#xff1b; 2。上…

剑指offer----替换空格(java实现)

题目描述 请实现一个函数&#xff0c;将一个字符串中的空格替换成“%20”。 例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 We Are Happy We%20Are%20Happy 如果不考虑在原来的字符串上替换的话, 那么我们直接再开一个数组&#xff0c;…

剑指Offer----斐波那契数列 (java实现,递归/迭代)

题目描述大家都知道斐波那契数列&#xff0c;现在要求输入一个整数n&#xff0c;请你输出斐波那契数列的第n项&#xff08;从0开始&#xff0c;第0项为0&#xff09;。n<39 题解&#xff1a; 斐波那契数列&#xff0c;就是一开始两个数为1&#xff0c;1 后面的数是前面两个…

剑指offer第二版(Python3)--面试题38 : 字符串的排列

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33: 二叉搜索树的后序遍历序列 面试题34: 二叉树中和为某一…

栈的压入、弹出序列 — C++实现

题目描述 输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序&#xff0c;序列4,5,3,2,1是该压栈序列对应的一个弹出序列&#xff0c;但4,3,5,…

JavaScript——合并两个有序链表

题目描述 输入两个单调递增的链表&#xff0c;输出两个链表合成后的链表&#xff0c;当然我们需要合成后的链表满足单调不减规则。 例如&#xff1a; 输入&#xff1a;链表一&#xff1a;1->3->5->7 链表二&#xff1a;2->4->6->8 输出&#xff1a;链…

对称的二叉树 — C++实现

题目描述 请实现一个函数&#xff0c;用来判断一棵二叉树是不是对称的。注意&#xff0c;如果一个二叉树同此二叉树的镜像是同样的&#xff0c;定义其为对称的。 牛客网题目链接 解题思路 对称二叉树&#xff0c;即左右两边的数是对称的&#xff0c;因此我们可以从左右两边…

最小的k个数 — C++实现

题目描述 输入n个整数&#xff0c;找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字&#xff0c;则最小的4个数字是1,2,3,4。 牛客网题目链接 解题思路 当然&#xff0c;直接拿来排序&#xff0c;然后输出前k个是直接能想到的解法&#xff0c;但这样操作的复杂度较高…

剑指offer --扑克牌顺序

题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿&#xff01;&#xff01;“红心A,黑桃3,小王,大王,方片5”,“Oh M…

顺时针打印矩阵 — C++实现

题目描述 输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字&#xff0c;例如&#xff0c;如果输入如下4 X 4矩阵&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 牛客网题目链…

剑指offer -- 构建乘积数组

题目描述 给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]A[0]A[1]…*A[i-1]A[i1]…*A[n-1]。不能使用除法 解题思路 B[i]的值可以看作上图的矩阵中每行的乘积。 每个B[i]都可以分为两部分&#xff08;1左边的位一部分&#xff0c;右边的又是一部分…

数组中出现次数超过一半的数字 — C++实现

题目描述 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次&#xff0c;超过数组长度的一半&#xff0c;因此输出2。如果不存在则输出0。 牛客网题目链接 解题思路 数…

剑指offer第二版(Python3)--面试题24:翻转链表

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 面试题24 &#xff1a;翻转链表 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章…

剑指offer第二版(Python3)--面试题49 : 丑数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题53 :在排序数组中查找数字

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题65 : 不用加减乘除做加法

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题62 : 圆圈中最后剩下的数字 面试题64 : 求123…n 面试题65 : 不用加减乘除做加法 第7章 两个面试案例 题目描述 牛客网   写一个函数&…

反转链表的几种解法 — C++实现

题目描述 输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 牛客网题目链接 解题思路1 使用额外空间&#xff0c;然后采用头插法将遍历到的结点插入到新建立链表的头部&#xff0c;将原链表的尾结点作为新链表的头结点即可&#xff0c;这种方法消耗的存储…

剑指offer -- 判断一棵树是否为平衡二叉树

题目描述 输入一棵二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 AC代码 public class Solution {public boolean IsBalanced_Solution(TreeNode root) {return getDepth(root) ! -1;}//返回值为 -1 表示 root 不是平衡树private int getDepth(TreeNode root) {if (roo…

剑指offer第二版(Python3)--面试题3 : 数组中重复的数字

第2章 面试需要的基础知识 面试题3 : 数组中重复的数字 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题62 : 圆圈中最后剩下的数字 面试题64 : 求123…n 面试题65 : 不用加减乘除做加法 面试题67 : 把字符串转换成整数…

剑指offer第二版(Python3)--面试题64 : 求1+2+3+...+n

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题64 : 求123…n 第7章 两个面试案例 题目描述 牛客网   求123…n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关…

剑指 Offer(第2版)题解(C++ Version)

剑指 Offer&#xff08;第2版&#xff09;题解&#xff08;C Version&#xff09; 剑指 Offer&#xff08;第2版&#xff09;题解&#xff08;C Version&#xff09;面试题 3&#xff1a;数组中重复的数字面试题 4&#xff1a;二维数组中的查找面试题 5&#xff1a;替换空格面试…

剑指Offer----二维数组中的查找(java实现)

题目描述 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 输入描述 array&#xff1a; 待查找的二维数…

剑指Offer----005-从尾到头打印链表(java实现)

题目描述 输入一个链表&#xff0c;按从尾到头的值返回一个List 感觉这题很水。。。 我的思路就是先从头到尾遍历一遍链表&#xff0c;将值保存在一个listA中&#xff0c;再新建一个listB存listA的反转&#xff1b; package com.xxxx;import java.util.ArrayList;/*** create …

剑指offer -- 正则表达式匹配

题目描述 请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符&#xff0c;而’表示它前面的字符可以出现任意次&#xff08;包含0次&#xff09;。 在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串&q…

剑指offer -- 左旋转字符串

题目描述 汇编语言中有一种移位指令叫做循环左移&#xff08;ROL&#xff09;&#xff0c;现在有个简单的任务&#xff0c;就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S&#xff0c;请你把其循环左移K位后的序列输出。例如&#xff0c;字符序列S”abcXYZdef”…

剑指Offer【21-30】Java实现

21、输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序&#xff0c;序列4,5,3,2,1是该压栈序列对应的一个弹出序列&#xff0c;但4,3,5,1,2就不…

判断一个二叉树是否是平衡二叉树

判断是否是平衡二叉树 private static class BinaryTreeNode {int val;BinaryTreeNode left;BinaryTreeNode right;public BinaryTreeNode() {}public BinaryTreeNode(int val) {this.val val;}}public static int treeDepth(BinaryTreeNode root) {if (root null) {return …

剑指offer-3 -- 从尾到头打印链表 - C++

题目描述&#xff1a; 输入一个链表的头节点&#xff0c;从尾到头反过来返回每个节点的值&#xff08;用数组返回&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,3,2] 输出&#xff1a;[2,3,1]限制&#xff1a;0 < 链表长度 < 10000 这是一道对单链表遍…

剑指offer—53.数字在排序数组中出现的次数—分析及代码(Java)

剑指offer——53.数字在排序数组中出现的次数——分析及代码[Java]一、题目二、分析及代码1. 二分查找&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 统计一个数字在排序数组中出现的次数。 二、分析及代码 1.…

剑指offer第二版(Python3)--面试题42 : 连续子数组的最大和

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 第6章 面试中的各项能力 第7章 两个面试案例 题目描述 牛客网   HZ偶…

剑指offer—57_2.和为S的连续正数序列—分析及代码(Java)

剑指offer——57_2.和为S的连续正数序列——分析及代码[Java]一、题目二、分析及代码1. 双指针&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 题目描述&#xff1a; 小明很喜欢数学, 有一天他在做数学作业时, 要…

两链表相交的第一个公共结点,如果没有找到返回null,方法比较好,考虑了两个链表中有null的情况

一、问题分析 &#xff08;1&#xff09;两个链表相交&#xff0c;那么两个链表中的节点一定有相同地址。 &#xff08;2&#xff09;两个链表相交&#xff0c;那么两个链表从相交节点开始到尾节点一定都是相同的节点。 &#xff08;问&#xff1a;为什么&#xff1f; 答&am…

在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的, * 但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 public stati

/*** 题目&#xff1a;在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的&#xff0c;* 但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。* 例如&#xff0c;如果输入长度为7的数组{2,3,1,0,2,5,…

剑指Offer【31-40】Java实现

31、求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数&#xff1f;为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数&…

剑指offer-给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方JAVA

public class Solution {public double Power(double base, int exponent) {// 指数为0就返回1if (exponent 0) {return 1;}// 求指数的绝对值long exp exponent;if (exponent < 0) {exp -exp;}// 求幂次方double result powerWithUnsignedExponent(base, exp);// 指数是…

剑指offer青蛙跳台阶JAVA

题目描述 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法&#xff08;先后次序不同算不同的结果&#xff09;。 public class Solution {public int JumpFloor(int target) {if(target0){return 0;}if(target1){return 1…

剑指 Offer(第2版)面试题 7:重建二叉树

剑指 Offer&#xff08;第2版&#xff09;面试题 7&#xff1a;重建二叉树 剑指 Offer&#xff08;第2版&#xff09;面试题 7&#xff1a;重建二叉树解法1&#xff1a;递归 剑指 Offer&#xff08;第2版&#xff09;面试题 7&#xff1a;重建二叉树 题目来源&#xff1a;18. …

从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。

/*** 题目&#xff1a;从扑克牌中随机抽5张牌&#xff0c;判断是不是一个顺子&#xff0c; 即这5张牌是不是连续的。* 2&#xff5e;10为数字本身&#xff0c; A为1。 J为11、Q为12、 k为13。小王可以看成任意数字。* param numbers* return*/ public static boolean isContin…

剑指offer—62.孩子们的游戏(圆圈中最后剩下的数)—分析及代码(Java)

toc 一、题目 每年六一儿童节&#xff0c;牛客都会准备一些小礼物去看望孤儿院的小朋友&#xff0c;今年亦是如此。HF作为牛客的资深元老&#xff0c;自然也准备了一些小游戏。其中&#xff0c;有个游戏是这样的&#xff1a;首先&#xff0c;让小朋友们围成一个大圈。然后&am…

剑指offer—61.扑克牌顺子—分析及代码(Java)

剑指offer——61.扑克牌顺子——分析及代码[Java]一、题目二、分析及代码1. 判断间隔&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一…

剑指offer—58_2.左旋转字符串—分析及代码(Java)

剑指offer——58_2.左旋转字符串——分析及代码[Java]一、题目二、分析及代码1. 两次翻转&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果2. 直接拼接&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&…

剑指offer—58.翻转单词顺序列—分析及代码(Java)

剑指offer——58.翻转单词顺序列——分析及代码[Java]一、题目二、分析及代码1. 两次翻转&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果2. 直接拼接&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&…

剑指offer—57.和为S的两个数字—分析及代码(Java)

剑指offer——57.和为S的两个数字——分析及代码[Java]一、题目二、分析及代码1. 双指针&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入一个递增排序的数组和一个数字S&#xff0c;在数组中查找两个数&#…

剑指offer—56.数组中只出现一次的数字—分析及代码(Java)

剑指offer——56.数组中只出现一次的数字——分析及代码[Java]一、题目二、分析及代码1. 二进制拆分 异或&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 一个整型数组里除了两个数字之外&#xff0c;其他的数字…

剑指offer—55_2.平衡二叉树—分析及代码(Java)

剑指offer——55_2.平衡二叉树——分析及代码[Java]一、题目二、分析及代码1. 记录深度&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 输入一棵二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#x…

剑指offer -- 矩阵覆盖

题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形&#xff0c;总共有多少种方法&#xff1f; AC代码 public class Solution {public int RectCover(int target) {if(target < 0) return 0;if(target 1) re…

剑指offer -- 序列化二叉树

题目描述 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树 AC代码1 曾经见到过一个非常令人吃惊的代码。 因为题目中没有规定序列化的方法&#xff0c;因此没办法检验序列化后结果的正确性&#xff0c;这也正是BUG所在。 /* public class TreeNode {int val 0;…

剑指offer -- 把字符串转换成整数

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能&#xff0c;但是string不符合数字要求时返回0)&#xff0c;要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以…

剑指offer -- 翻转单词顺序

题目描述 牛客最近来了一个新员工Fish&#xff0c;每天早晨总是会拿着一本英文杂志&#xff0c;写些句子在本子上。同事Cat对Fish写的内容颇感兴趣&#xff0c;有一天他向Fish借来翻看&#xff0c;但却读不懂它的意思。例如&#xff0c;“student. a am I”。后来才意识到&…

剑指offer-- 二叉树的深度

题目描述 输入一棵二叉树&#xff0c;求该树的深度。从根结点到叶结点依次经过的结点&#xff08;含根、叶结点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。 AC代码 /** public class TreeNode {int val 0;TreeNode left null;TreeNode right nu…

剑指offer -- 数字在排序数组中出现的次数

题目描述 统计一个数字在排序数组中出现的次数。 解题思路 因为题目给出的数组是排序了的&#xff0c;所以我们想到了二分查找。利用二分查找找到一个数字在数组中第一次出现的位置和最后出现的位置即可。 AC代码 public class Solution {public int GetNumberOfK(int [] …

(二十)剑指offer之字符串的排列

题目描述&#xff1a; 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba&#xff0c;结果请按字母顺序输出。 输入描述&#xff1a; 输入一个字符串,长度不超过9(可能有字…

(十九)剑指offer之二叉搜索树与双向链表

题目描述&#xff1a; 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向。 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) : val(x),…

(六)剑指offer之旋转数组的最小数字

题目描述&#xff1a; 把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。输入一个递增排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转&#xff0c;该数组的最小值为1。 NOTE&#xff…

剑指offer第二版(Python3)--面试题37 : 序列化二叉树

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33: 二叉搜索树的后序遍历序列 面试题34: 二叉树中和为某一…

剑指offer第二版(Python3)--面试题18:删除链表中重复的节点

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题18&#xff1a;删除链表中重复的节点 面试题19&#xff1a;正则表达式匹配 面试题20&#xff1a;表示数值的字符串 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&…

剑指offer第二版(Python3)--面试题19:正则表达式匹配

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题19&#xff1a;正则表达式匹配 面试题20&#xff1a;表示数值的字符串 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 面试题23 &…

剑指offer第二版(Python3)--面试题23:链表中环的入口

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 面试题22&#xff1a;链表中倒数第k个结点 面试题23 &#xff1a;链表中环的入口 面试题24 &#xff1a;翻转链表 第4章 解决面试题的…

剑指offer第二版(Python3)--面试题67 : 把字符串转换成整数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题62 : 圆圈中最后剩下的数字 面试题64 : 求123…n 面试题65 : 不用加减乘除做加法 面试题67 : 把字符串转换成整数 第7章 两个面试案例 题目描…

剑指offer第二版(Python3)--面试题66 :构建乘积数组

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题62 : 圆圈中最后剩下的数字 面试题64 : 求123…n 面试题65 : 不用加减乘除做加法 面试题66 :构建乘积数组 第7章 两个面试案例 题目描述 牛客…

剑指offer第二版(Python3)--面试题62 : 圆圈中最后剩下的数字

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 面试题62 : 圆圈中最后剩下的数字 面试题64 : 求123…n 第7章 两个面试案例 题目描述 0&#xff0c; 1&#xff0c; 2 &#xff0c;…&#xff0c;…

剑指offer第二版(Python3)--面试题56 :数组中数字出现的次数

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题55 :二叉树的深度、平衡二叉树

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题52 : 两个链表的第一个公共结点

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题50 : 第一个只出现一次的字符、字符流中第一个只出现一次的字符

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer第二版(Python3)--面试题35:复杂链表的复制

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30 :包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33: 二叉搜索树的后序遍历序列 面试题34: 二叉树中和为某一…

剑指offer第二版(Python3)--面试题27:顺时针打印矩阵

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题29 &#xff1a;顺时针打印矩阵 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述   输入一个矩阵&#xff0c;按照从外向…

合并两个排序后的链表

剑指Offer_17 合并两个排序后的链表 2018/5/21 星期一 题目&#xff1a;输入两个递增排序的链表&#xff0c;合并这两个链表&#xff0c;并使新链表中结点仍然是按照递增的顺序排序的。例如&#xff0c;输入链表1&#xff0c;{1,3,5,7}和链表2&#xff1a;{2,4,6,8} 那么合并后…

包含min函数的栈 — C++实现

题目描述 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈中所含最小元素的min函数&#xff08;时间复杂度应为O&#xff08;1&#xff09;&#xff09;。 牛客网题目链接 解题思路 构造一个和栈容量一致缓存栈&#xff0c;用于存储存储当前栈的最小值&#x…

矩阵中的路径 — 回溯法C++实现

题目描述 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵中的某一个…

剑指Offer:二维数组中的查找

笔试面试的时候&#xff0c;一般都是拿剑指的题目考&#xff0c;就算不是完全一样也会是变形的题目

LeetCode875.爱吃香蕉的珂珂

LeetCode875.爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 N 堆香蕉&#xff0c;第 i 堆中有 piles[i] 根香蕉。警卫已经离开了&#xff0c;将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K &#xff08;单位&#xff1a;根/小时&#xff09;。每个小时&#xff0c;她将会选择一…

剑指offer -- 和为 S 的两个数字

题目描述 输入一个递增排序的数组和一个数字S&#xff0c;在数组中查找两个数&#xff0c;使得他们的和正好是S&#xff0c;如果有多对数字的和等于S&#xff0c;输出两个数的乘积最小的。 AC代码 思路虽然很简单&#xff0c;但是需要注意的地方有很多。 继续努力。 import…

剑指offer--二叉树的镜像

题目描述 操作给定的二叉树&#xff0c;将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义&#xff1a; 源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 AC代码 没啥难度。。。 /** public class TreeNode {int val 0;…

剑指offer --- 从尾到头打印链表

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 当我们需要访问单向链表中特定位置值时&#xff0c;算法复杂度往往是O(n)&#xff0c;在得到靠后节点的值时不可避免地从前向后遍历访问链表&#xff0c;那么当应题目要求从尾到头打印链表时&#xff0c;至少…

剑指offer --- 字符串中替换空格

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 作为引入讲讲这道题的由来&#xff0c;在网络编程中&#xff0c;如果 URL 参数中含有特殊字符&#xff0c;如空格、#等&#xff0c;可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务…

《剑指Offer》反转链表 Python实现

一、题目描述 输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 二、解题思路 把listNode中的next改为null可以&#xff0c;但是想把listnodenull就麻烦了。因为你自己定义的listnodehead的话&#xff0c;listnodenull时head并不是空。这个也是清理对象时…

2023-9-29 JZ33 二叉搜索树的后序遍历序列

题目链接&#xff1a;二叉搜索树的后序遍历序列 import java.util.*; public class Solution {int [] seq;public boolean VerifySquenceOfBST(int [] sequence) {if(sequence.length < 0) return false;this.seq sequence;return dfs(0, seq.length - 1);}public boolean …

剑指offer 07. 重建二叉树

剑指 Offer 07. 重建二叉树 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 题目不难&#xff0c;理解了二叉树的先序遍历和中序遍历之后就能很容易地写出代码。 目录 运行结果 代码 运行结果 代码 class Solution { public:TreeNode* buildTree(vector<in…

剑指 Offer(第2版)面试题 34:二叉树中和为某一值的路径

剑指 Offer&#xff08;第2版&#xff09;面试题 34&#xff1a;二叉树中和为某一值的路径 剑指 Offer&#xff08;第2版&#xff09;面试题 34&#xff1a;二叉树中和为某一值的路径解法1&#xff1a;深度优先搜索 剑指 Offer&#xff08;第2版&#xff09;面试题 34&#xff…

剑指 Offer(第2版)面试题 64:求1+2+…+n

剑指 Offer&#xff08;第2版&#xff09;面试题 64&#xff1a;求12…n 剑指 Offer&#xff08;第2版&#xff09;面试题 64&#xff1a;求12…n解法1&#xff1a;构造函数解法2&#xff1a;虚函数解法3&#xff1a;数组 剑指 Offer&#xff08;第2版&#xff09;面试题 64&am…

剑指offer(6)——C++实现查找旋转数组中的最小值

题目 把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转&#xff0c;该数组的最小值为1。 考察点 二分查找思考问题的全…

剑指offer笔记——20. 表示数值的字符串(考虑特殊情况即可)

原题 思路 既然来判断&#xff0c;字符串是否表示数值&#xff0c;将字符串转成字符数组&#xff0c;那么便将几种特殊情况判断一下就知道了。 设置几个标签&#xff0c;来判断情况,初始值都为false num:是否出现0-9 dot&#xff1a;是否出现小数点 eE&#xff1a;是否出现e…

剑指offer--机器人的运动范围

题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格&#xff0c;但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如&#xff0c;当k为18时&#xff0c;机器…

剑指offer-1 -- 二维数组中的查找 - C++

题目描述&#xff1a; 在一个二维数组中&#xff08;每个一维数组的长度相同&#xff09;&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组…

剑指offer第二版(Python3)--面试题58 :翻转字符串、左旋转字符串

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 面试题39 : 数组中出现次数超过一半的数字 面试题40 : 最小的k个数 面试题42 : 连续子数组的最大和 面试题43 : 从1到n整数中1出现的次数 面试题45 : 把数组排成最小的数 面试…

剑指offer 第二版(Python3)--面试题8:二叉树的下一个节点

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题8&#xff1a;二叉树的下一个节点 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契…

剑指offer 第二版(Python3)--面试题14:剪绳子

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题10&#xff1a;斐波那契数列 面试题11&#xff1a;旋转数组的最…

数据流中的中位数 — C++实现

题目描述 如何得到一个数据流中的中位数&#xff1f;如果从数据流中读出奇数个数值&#xff0c;那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值&#xff0c;那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流…

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同

【问题】输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 时间限制&#xff1a;1秒 空间限制&#xff1a;32768K 概念&#xff1a; 二叉排序树(BST)&#xff1a;又称二叉…

分行从上到下打印二叉树 — C++实现

题目描述 从上到下按层打印二叉树&#xff0c;同一层结点从左至右输出。每一层输出一行。 牛客网题目链接 解题思路 与从上到下打印二叉树一样&#xff0c;都是先存在队列里&#xff0c;然后从队列里取出。 只不过这里要区分每一层&#xff0c;因此我们在需要记住每一层有…

(五)剑指offer之用两个栈实现队列

题目描述&#xff1a; 用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作&#xff0c; 队列中的元素为int类型。 ​ class Solution { public:void push(int node) {stack1.push(node);}int pop() {if(stack2.size()<0){while(stack1.size()){int data stack1…

Main22 栈的压入、弹出序列

剑指Offer_22 栈的压入、弹出序列 2018/6/8 星期五 题目&#xff1a;输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否为该栈的弹出顺序。假设压入栈中的所有数字均不相等。例如&#xff0c;序列1,2,3,4,5为某栈的压栈序列&#xff0c…

(三)剑指offer之从尾到头打印链表

题目描述&#xff1a; 输入一个链表&#xff0c;从尾到头打印链表每个节点的值。 输入描述&#xff1a; 输入为链表的表头 输出描述&#xff1a; 输出为需要打印的“新链表”的表头 /** * struct ListNode { * int val; * struct ListNode *next; * …

剑指offer第二版(Python3)--面试题28:对称的二叉树

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题28 &#xff1a;对称的二叉树 面试题29 &#xff1a;顺时针打印矩阵 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述 牛客…

剑指offer第二版(Python3)--面试题16:数值的整数次方

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述   给定一个double类型…

剑指offer 第二版(Python3)--面试题11:旋转数组的最小值

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 面试题11&#xff1a;旋转数组的最小值 第3章 高质量的代码 第4章 解…

剑指offer 第二版(Python3)--面试题9:用两个栈实现队列,用两个队列实现栈

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 面试题9&#xff1a;用两个栈实现队列 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间…

剑指offer 第二版(Python3)--面试题7:重建二叉树

第2章 面试需要的基础知识 面试题4&#xff1a;二维数组中的查找 面试题5&#xff1a;替换空格 面试题6&#xff1a;从尾到头打印链表 面试题7&#xff1a;重建二叉树 第3章 高质量的代码 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 …

剑指offer—14.剪绳子——分析及代码(Java)

剑指offer——14.剪绳子——分析及代码[Java]一、题目二、分析及代码1. 动态规划&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果2. 贪婪算法&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;…

剑指offer 14-II. 剪绳子 II(大数求余问题)

剑指 Offer 14- II. 剪绳子 II - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 本题只是在 "剪绳子 I" 的基础上增大了数据&#xff0c;因此我们只需要另外处理大数求余问题即可。 剪绳子I的题解&#xff1a; 剑指offer 14 - I. 剪绳子&#xff08;贪…

剑指offer第二版(Python3)--面试题21:调整数组顺序使奇数位于偶数前面

第2章 面试需要的基础知识 第3章 高质量的代码 面试题16&#xff1a;数值的整数次方 面试题21&#xff1a;调整数组顺序使奇数位于偶数前面 第4章 解决面试题的思路 第5章 优化时间和空间效率 第6章 面试中的各项能力 第7章 两个面试案例 题目描述   输入一个整数数组&a…

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得得它们的和正好是s。

/*** 输入一个递增排序的数组和一个数字s&#xff0c;在数组中查找两个数&#xff0c;使得得它们的和正好是s。* 如果有多对数字的和等于s&#xff0c;输出任意一对即可。** param data* param sum* return*/ public static List<Integer> findNumbersWithSum(int[] dat…

剑指offer数组旋转求最小值JAVA

把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转&#xff0c;该数组的最小值为1。 NOTE&#xff1a;给出的所有元素都大于…

2023-9-28 JZ26 树的子结构

题目链接&#xff1a;树的子结构 import java.util.*; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {public boolean HasSubtree(TreeNode root1,TreeNode root2) …

2023-9-29 JZ32 从上往下打印二叉树

题目链接&#xff1a;从上往下打印二叉树 import java.util.*; import java.util.ArrayList; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {public ArrayList<I…

链表中倒数第k个节点-链表(剑指offer22)-C++

/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) : val(x), next(nullptr) {}* };*/ class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param pHead ListNode类 …

Week1:用两个栈实现队列

1️⃣ 题目描述 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 ) 示例 1&#xff1a; 输入&am…

剑指 Offer(第2版)面试题 45:把数组排成最小的数

剑指 Offer&#xff08;第2版&#xff09;面试题 45&#xff1a;把数组排成最小的数 剑指 Offer&#xff08;第2版&#xff09;面试题 45&#xff1a;把数组排成最小的数解法1&#xff1a;排序 剑指 Offer&#xff08;第2版&#xff09;面试题 45&#xff1a;把数组排成最小的数…

剑指 Offer(第2版)面试题 18:删除链表的节点

剑指 Offer&#xff08;第2版&#xff09;面试题 18&#xff1a;删除链表的节点 剑指 Offer&#xff08;第2版&#xff09;面试题 18&#xff1a;删除链表的节点题目一&#xff1a;在 O(1) 时间删除链表结点题目二&#xff1a;删除链表中重复的节点 剑指 Offer&#xff08;第2版…

(剑指offer)JZ6 从尾到头打印链表[cpp实现]

JZ6 从尾到头打印链表0. 题目链接1. 问题描述2. 运行示例3. 解题思路3.1 方法一3.2 方法二3.3 方法三0. 题目链接 源链接&#xff1a;(剑指offer)>>>JZ6 从尾到头打印链表 1. 问题描述 2. 运行示例 3. 解题思路 3.1 方法一 思路一&#xff1a;使用栈Stack&#xff0c…

2023-9-30 JZ34 二叉树中和为某一值的路径

题目链接&#xff1a;二叉树中和为某一值的路径 import java.util.*;/** public class TreeNode {* int val 0;* TreeNode left null;* TreeNode right null;* public TreeNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、…

剑指Offer题解——二进制中1的个数

一、题目描述 输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 二、分析 该题舍弃直接对输入数进行操作&#xff0c;因为考虑到负数移位存在符号位的问题&#xff0c;转而采取对数字1进行左移位操作&#xff0c;然后和输入数进行与操作&#xf…

剑指 Offer(第2版)面试题 60:n 个骰子的点数

剑指 Offer&#xff08;第2版&#xff09;面试题 60&#xff1a;n 个骰子的点数 剑指 Offer&#xff08;第2版&#xff09;面试题 60&#xff1a;n 个骰子的点数解法 1&#xff1a;递归解法 2&#xff1a;动态规划 剑指 Offer&#xff08;第2版&#xff09;面试题 60&#xff1…

剑指Offer题解——合并两个排序的链表

一、题目描述 输入两个单调递增的链表&#xff0c;输出两个链表合成后的链表&#xff0c;当然我们需要合成后的链表满足单调不减规则。 /* public class ListNode {int val;ListNode next null;ListNode(int val) {this.val val;} }*/ 二、分析 法一&#xff1a;递归&…

剑指Offer题解——反转链表

一、题目描述 输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 二、分析 public ListNode ReverseList(ListNode head) {if(headnull)return null;//head为当前节点&#xff0c;如果当前节点为空的话&#xff0c;那就什么也不做&#xff0c;直接返回null…

剑指offer题解合集——Week3day6

文章目录 剑指offerWeek3周六&#xff1a;栈的压入、弹出序列AC代码思路&#xff1a; 周六&#xff1a;不分行从上往下打印二叉树AC代码思路&#xff1a; 剑指offerWeek3 周六&#xff1a;栈的压入、弹出序列 题目链接&#xff1a;栈的压入、弹出序列 输入两个整数序列&…

剑指 Offer(第2版)面试题 19:正则表达式匹配

剑指 Offer&#xff08;第2版&#xff09;面试题 19&#xff1a;正则表达式匹配 剑指 Offer&#xff08;第2版&#xff09;面试题 19&#xff1a;正则表达式匹配解法1&#xff1a;递归解法2&#xff1a;动态规划 剑指 Offer&#xff08;第2版&#xff09;面试题 19&#xff1a;…

剑指offer第二版(Python3)--面试题34:二叉树中和为某一值的路径

第2章 面试需要的基础知识 第3章 高质量的代码 第4章 解决面试题的思路 面试题27 &#xff1a;二叉树的镜像 面试题29 &#xff1a;顺时针打印矩阵 面试题30 &#xff1a;包含min函数的栈 面试题31&#xff1a;栈的压入、弹出序列 面试题32&#xff1a;上往下打印二叉树 面试…

LeetCode455.分发饼干

LeetCode455.分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#x…

剑指offer算法题汇总(java版)

1.二维数组中的查找 题目描述 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 题目思路 读取矩阵最右…

剑指offer笔记——剪绳子(Ⅰ,Ⅱ)

剪绳子Ⅰ 原题&#xff1a; 思路&#xff1a; 本题算法思想跟代码不是大问题&#xff0c;主要是数学推导。 通过劈里啪啦一通推导&#xff08;看不看的&#xff0c;知道结论就完事儿了 &#xff09;&#xff0c;结论是绳子以长度为3时等分效果为好&#xff0c;乘积最大。…

剑指 offer 67题

文章目录《剑指 offer》剑指offer 001、二维数组中的查找题目题解1题解2剑指offer 002、替换空格题目题解1剑指offer 003、从尾到头打印链表题目题解1剑指offer 004、重建二叉树题目题解1剑指offer 005、用两个栈实现队列题目题解剑指offer 006、旋转数组的最小数字题目题解剑指…

1~n 整数中 1 出现的次数

题目描述 输入一个整数 n &#xff0c;求1&#xff5e;n这n个整数的十进制表示中1出现的次数。 例如&#xff0c;输入12&#xff0c;1&#xff5e;12这些整数中包含1 的数字有1、10、11和12&#xff0c;1一共出现了5次。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&…

剑指offer—19.正则表达式匹配——分析及代码(Java)

剑指offer——19.正则表达式匹配——分析及代码[Java]一、题目二、分析及代码1. 分类讨论&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 请实现一个函数用来匹配包括’.‘和’ * ‘的正则表达式。模式中的字符’…

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

class Solution { public:int Add(int num1, int num2){int s;///不含进位int sum;///进位while(num2)///只要有进位就执行循环{s num1 ^ num2;///进行或运算求不含进位的和sum ( num1 & num2 ) << 1;///通过与运算求进位的位置&#xff08;都为1&#xff09;&…

剑指Offer----变态跳台阶 (java实现,递归/迭代)

题目描述一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路&#xff1a;&#xff08;采用数学的归纳法&#xff09; 1。上1级台阶&#xff0c;1种方法&#xff1b;f(1) 2。上2级台阶&#xff0c;2种…

剑指offer刷题记录(一)

emmm,在找工作之前把剑指offer过一遍。题目取自牛客网。 自己不是很懂C&#xff0c;所以大部分用python刷&#xff0c;但一些题目&#xff0c;python里自带的方法可以完成&#xff0c;也会用C写一下&#xff0c;也算是学习一下C吧。 题目一&#xff1a;在一个二维数组中&…

剑指offer题解合集——Week4day2

文章目录 剑指offerWeek4周二&#xff1a;二叉树中和为某一值的路径AC代码思路&#xff1a; 剑指offerWeek4 周二&#xff1a;二叉树中和为某一值的路径 题目链接&#xff1a;二叉树中和为某一值的路径 输入一棵二叉树和一个整数&#xff0c;打印出二叉树中结点值的和为输入…

剑指offer -- 字符串的排列

题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 AC代码1 import java.uti…

[剑指offer]题解汇总与题目种类分类(C++纯享版!)

剑指offer大全写在前面题目题解表题目分类表数组字符串链表树数学其他知识点本篇汇总了剑指offer所有题的题解&#xff0c;然后就题目进行了简单的分类&#xff01; 错题和心得分享请看下面这篇文章>错题集(二刷出错记录心得分享) 写在前面 一般来说对于刷剑指offer分为几刷…

2023-9-27 JZ55 二叉树的深度

题目链接&#xff1a;二叉树的深度 import java.util.*; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {public int TreeDepth(TreeNode root) {if(root null) ret…

剑指 Offer(第2版)面试题 62:圆圈中最后剩下的数字

剑指 Offer&#xff08;第2版&#xff09;面试题 62&#xff1a;圆圈中最后剩下的数字 剑指 Offer&#xff08;第2版&#xff09;面试题 62&#xff1a;圆圈中最后剩下的数字解法1&#xff1a;环形链表解法2&#xff1a;数学 剑指 Offer&#xff08;第2版&#xff09;面试题 62…

剑指offer -- 数据流中的中位数

题目描述 如何得到一个数据流中的中位数&#xff1f;如果从数据流中读出奇数个数值&#xff0c;那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值&#xff0c;那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流…

(剑指offer)JZ3 数组中重复的数字[cpp实现]

JZ3 数组中重复的数字1. 题目描述2. 运行示例3. 解决方法3.1 方法一3.2 方法二3.3 方法三1. 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的&#xff0c;但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个…

【含详细证明过程】变态跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

【问题】一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 时间限制&#xff1a;1秒 空间限制&#xff1a;32768K 思路&#xff1a; 跳 n 个台阶&#xff0c;可以有以下互斥的跳法&#xff08;跳法数…

剑指offer题解合集——Week3day7

文章目录 剑指offerWeek3周七&#xff1a;分行从上往下打印二叉树AC代码思路&#xff1a; 周日&#xff1a;之字形打印二叉树AC代码思路&#xff1a; 剑指offerWeek3 周七&#xff1a;分行从上往下打印二叉树 题目链接&#xff1a;分行从上往下打印二叉树 从上到下按层打印…

剑指offer—补充1.跳台阶—分析及代码(Java)

剑指offer——补充1.跳台阶——分析及代码[Java]一、题目二、分析及代码1. 动态规划&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 一只青蛙一次可以跳上 1 级台阶&#xff0c;也可以跳上 2 级。求该青蛙跳上一个…

剑指offer—66.构建乘积数组—分析及代码(Java)

剑指offer——66.构建乘积数组——分析及代码[Java]一、题目二、分析及代码1. 辅助乘积数组&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 给定一个数组A[0,1,…,n-1]&#xff0c;请构建一个数组B[0,1,…,n-1]&a…

剑指offer—65.不用加减乘除做加法—分析及代码(Java)

剑指offer——65.不用加减乘除做加法——分析及代码[Java]一、题目二、分析及代码1. 二进制运算&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内…

剑指offer—64.求1+2+3+...+n—分析及代码(Java)

剑指offer——64.求123...n——分析及代码[Java]一、题目二、分析及代码1. 递归&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;结果三、其他一、题目 求 123…n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case 等…

剑指 Offer(第2版)面试题 36:二叉搜索树与双向链表

剑指 Offer&#xff08;第2版&#xff09;面试题 36&#xff1a;二叉搜索树与双向链表 剑指 Offer&#xff08;第2版&#xff09;面试题 36&#xff1a;二叉搜索树与双向链表解法1&#xff1a;中序遍历 - 递归解法2&#xff1a;中序遍历 - 迭代 剑指 Offer&#xff08;第2版&am…

剑指 Offer(第2版)面试题 25:合并两个排序的链表

剑指 Offer&#xff08;第2版&#xff09;面试题 25&#xff1a;合并两个排序的链表 剑指 Offer&#xff08;第2版&#xff09;面试题 25&#xff1a;合并两个排序的链表解法1&#xff1a;递归解法2&#xff1a;迭代 剑指 Offer&#xff08;第2版&#xff09;面试题 25&#xf…

剑指 Offer(第2版)面试题 26:树的子结构

剑指 Offer&#xff08;第2版&#xff09;面试题 26&#xff1a;树的子结构 剑指 Offer&#xff08;第2版&#xff09;面试题 26&#xff1a;树的子结构解法1&#xff1a;递归解法2&#xff1a;深度优先搜索序列上做串匹配 剑指 Offer&#xff08;第2版&#xff09;面试题 26&a…

【剑指offer专项突破版】栈篇——“C“

文章目录 前言一、后缀表达式题目分析思路分析代码 二、小行星碰撞题目分析思路分析代码 三、每日温度题目分析思路分析代码 四、直方图最大矩形面积题目分析思路分析代码 五、矩阵中最大的矩形题目分析思路分析代码 总结 前言 剑指offer专项突破版&#xff08;力扣官网&#x…

剑指 Offer(第2版)面试题 27:二叉树的镜像

剑指 Offer&#xff08;第2版&#xff09;面试题 27&#xff1a;二叉树的镜像 剑指 Offer&#xff08;第2版&#xff09;面试题 27&#xff1a;二叉树的镜像解法1&#xff1a;递归 剑指 Offer&#xff08;第2版&#xff09;面试题 27&#xff1a;二叉树的镜像 题目来源&#x…

矩阵中的路径-剑指Offer-java深度优先

一、题目描述给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相…

剑指 Offer(第2版)面试题 13:机器人的运动范围

剑指 Offer&#xff08;第2版&#xff09;面试题 13&#xff1a;机器人的运动范围 剑指 Offer&#xff08;第2版&#xff09;面试题 13&#xff1a;机器人的运动范围解法1&#xff1a;深度优先搜索 剑指 Offer&#xff08;第2版&#xff09;面试题 13&#xff1a;机器人的运动范…

剑指offer --- 用两个栈实现队列的先进先出特性

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 当我们需要实现队列的先进先出特性时&#xff0c;可以使用栈来模拟队列的行为。本文将介绍如何使用两个栈来实现队列&#xff0c;并给出具体的思路和代码实现。 一、读懂题目 题目&#xff1a;用两个栈实现一…

在O(1)的时间内删除结点

剑指Offer_13: 在O(1)O(1)的时间内删除结点 2018/05/14 星期一 题目: 给定单项链表的头指针和一个结点指针&#xff0c;定义一个函数在O(1)​O(1)​的时间删除该结点。链表结点和函数的定义如下&#xff1a; class ListNode {int data;ListNode nextNode; } public void delet…

【Leetcode刷题】题64. 求1+2+…+n

原题链接&#xff1a;https://leetcode-cn.com/problems/qiu-12n-lcof/ 题目描述 求 12...n &#xff0c;要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句&#xff08;A?B:C&#xff09;。 思路分析 本题抛开要求限制&#xff0c;算是入门级题…

剑指offer题解合集——Week2day4

文章目录 剑指offerWeek2周四&#xff1a;数值的整数次方AC代码思路&#xff1a;部分模拟 周四&#xff1a;在O(1)时间删除链表结点AC代码思路&#xff1a;部分模拟 剑指offerWeek2 周四&#xff1a;数值的整数次方 题目链接&#xff1a;数值的整数次方 实现函数double Pow…

面试题62:圆圈中最后剩下的数字

面试题62&#xff1a;圆圈中最后剩下的数字 0,1,,n-1这n个数字排成一个圆圈&#xff0c;从数字0开始&#xff0c;每次从这个圆圈里删除第m个数字&#xff08;删除后从下一个数字开始计数&#xff09;。求出这个圆圈里剩下的最后一个数字。 例如&#xff0c;0、1、2、3、4这5个…

2023-9-30 JZ36 二叉搜索树与双向链表

题目链接&#xff1a;二叉搜索树与双向链表 import java.util.*; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {TreeNode pre null;public TreeNode Convert(Tree…

二叉搜索树与双向链表的几种解法 — C++实现

题目描述 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向。 牛客网题目链接 解题思路1 我们可以中序遍历二叉搜索树&#xff0c;并将遍历到的结点保存起来&#xff0c;这样得到的…

顺时针打印指针

剑指Offer_20 顺时针打印指针 2018/5/22 星期二 题目&#xff1a; 输入一个矩阵&#xff0c;按照从外到里顺时针的顺序打印出每一个数字。例如&#xff1a;输入如下矩阵 1591326101437111548121612345678910111213141516\begin{array}{ccc} 1 & 2 & 3 & 4 \\ 5 &am…

python剑指offer系列滑动窗口的最大值

给定一个数组和滑动窗口的大小&#xff0c;找出所有滑动窗口里数值的最大值。例如&#xff0c;如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3&#xff0c;那么一共存在6个滑动窗口&#xff0c;他们的最大值分别为{4,4,6,6,6,5}&#xff1b;针对数组{2,3,4,2,6,2,5,1}的滑动窗…

【含详细证明过程】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法

【问题】一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 时间限制&#xff1a;1秒 空间限制&#xff1a;32768K 思路1&#xff1a;递归法 利用二叉树&#xff0c;结点为当前剩余台阶数&#xff0c;左孩子为跳 1 级&…

树的子结构 — C++实现

题目描述 输入两棵二叉树A&#xff0c;B&#xff0c;判断B是不是A的子结构。&#xff08;ps&#xff1a;我们约定空树不是任意一个树的子结构&#xff09; 牛客网题目链接 解题思路 对于两颗树A和B&#xff0c;要判断B是否为A的子树&#xff0c;则其首先应满足根节点相同&a…

剑指offer:二叉树中和为某一值的路径,本人改变了原题目要求

原题&#xff1a; 输入一颗二叉树的根节点和一个整数&#xff0c;打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 改编版&#xff1a; 输入一颗二叉树的根节点和一个整数&#xff0c;打印出二叉树中结点…

剪绳子

1. 无大数情况下 题目描述&#xff1a; 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多…

剑指Offer-二:二叉树的深度

题目位置 https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/ 题解 /*** 思路&#xff1a;* 1、便利二叉树的每一个节点&#xff0c;计算每一个节点高度* 2、用一个变量&#xff08;max&#xff09;记录最大的高度* 3、每次便利到根节点就判断当前高度和max那个…

剑指 offer 全记录

文章目录排序1.快排(时间复杂度O(nlogn),空间复杂度O(1))&#xff0c;下面的实现是一种原地排序的实现。2.堆排3.归并(时间复杂度一直是O(NlogN)&#xff0c;空间复杂度O(n))4.插入关于排序延伸的几道题1.求最小/大的k个数字与求第k小/大的数字2.查找二分查找O(logN)变异的二分…

【剑指offer专项突破版】数组篇——“C“

文章目录 前言一 . 排序数组中两个数字的和题目分析思路分析法①代码——双指针法②代码——二分查找 二. 数组中和为 0 的三个数题目分析问题转换代码 三. 和大于等于 target 的最短子数组题目分析思路分析代码 四. 乘积小于 K 的子数组题目分析思路分析代码 五. 和为 k 的子数…

【剑指offer专项突破版】哈希表篇——“C“

文章目录 前言一、插入、删除和随机访问都是 O(1) 的容器题目分析思路分析代码 二、最近最少使用缓存题目分析思路分析代码 三、有效的变位词题目分析代码 四、变位词组题目分析思路分析代码 五、外星语言是否排序题目分析思路分析代码 六、最小时间差题目分析思路分析代码①—…

【剑指offer】51. 数字排列(java选手)

题目链接 题目链接 题目描述 输入一组数字&#xff08;可能包含重复数字&#xff09;&#xff0c;输出其所有的排列方式。 数据范围 输入数组长度 [0,6]。 样例 输入&#xff1a;[1,2,3] 输出&#xff1a; [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 考察知…

剑指offer --- 二维数组中的元素查找

目录 一、读懂题目 二、思路分析 三、代码呈现 总结 一、读懂题目 题目&#xff1a; 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的个二维数组和一个整数&#…

剑指 Offer Day1——栈与队列(简单)

本专栏将记录《剑指 Offer》的刷题&#xff0c;传送门&#xff1a;https://leetcode.cn/study-plan/lcof/。 目录剑指 Offer 09. 用两个栈实现队列剑指 Offer 30. 包含min函数的栈剑指 Offer 09. 用两个栈实现队列 原题链接&#xff1a;09. 用两个栈实现队列 class CQueue { pu…

剑指 Offer(第2版)面试题 33:二叉搜索树的后序遍历序列

剑指 Offer&#xff08;第2版&#xff09;面试题 33&#xff1a;二叉搜索树的后序遍历序列 剑指 Offer&#xff08;第2版&#xff09;面试题 33&#xff1a;二叉搜索树的后序遍历序列解法1&#xff1a;递归 剑指 Offer&#xff08;第2版&#xff09;面试题 33&#xff1a;二叉搜…

【剑指offer】61. 最长不含重复字符的子字符串(java选手)

题目链接 acwing leetcode 题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长连续子字符串 的长度。 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子字符串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出:…

链表中倒数的第K个节点

剑指Offer_15 链表中倒数的第K个节点 2018/5/21 星期一 代码的鲁棒性 鲁棒性对于软件开发的重要性不言而喻&#xff0c;提高代码的鲁棒性的有效途径就是进行防御性编程。这是一种习惯&#xff0c;提高在何处遇见有什么地方可能会出现问题&#xff0c;并为这些问题制定处理方式…

[剑指offer] 二叉搜索树和双向链表的转化

题目&#xff1a;二叉搜索树和双向链表的转化 二叉搜索树里面每个节点有两个指针&#xff0c;分别指向left 和 right。双向链表内的每个节点也有两个指针&#xff0c;分别指向left 和 right。所以&#xff0c;两者是可以相互转化的。我们知道二叉搜索树的中序序列有序的。所以…

反转链表 | 单链表的逆置

面试题16&#xff1a;反转链表 一.题目描述 定义一个函数&#xff0c;输入一个链表的头结点&#xff0c;反转该链表并输出反转后链表的头结点。 链表结点定义如下&#xff1a; struct ListNode {int m_nKey;ListNode* m_pNext; }; 二.分析问题 1.举例分析 2.解题思路 解…

【剑指 Offer 39】数组中超过一半的数字

题目&#xff1a; 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例&#xff1a; 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 思考&#xff1a; 方法一&#xff1a;投…

剑指 Offer 58 - I. 翻转单词顺序

剑指 Offer 58 - I. 翻转单词顺序 题目&#xff1a; 输入一个英文句子&#xff0c;翻转句子中单词的顺序&#xff0c;但单词内字符的顺序不变。为简单起见&#xff0c;标点符号和普通字母一样处理。例如输入字符串"I am a student. “&#xff0c;则输出"student. a …

Week2:包含 min 函数的栈

1️⃣ 题目描述 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中&#xff0c;调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3…

【剑指offer】旋转数组的最小数字

&#x1f451;专栏内容&#xff1a;剑指offer⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录一、题目描述1、题目2、示例示例1示例2二、题目分析1、暴力法2、二分法三、代码汇总1、暴力法2、二分法一、题目描述 1、题…

【剑指offer】75. 和为S的两个数字

题目链接 acwing 题目描述 输入一个数组和一个数字 s&#xff0c;在数组中查找两个数&#xff0c;使得它们的和正好是 s。 如果有多对数字的和等于 s&#xff0c;输出任意一对即可。 你可以认为每组输入中都至少含有一组满足条件的输出。 数据范围&#xff1a;数组长度 […

剑指offer全集系列(1)

目录 JZ3 数组中重复的数字 JZ4 二维数组中的查找 JZ5 替换空格 JZ6 从尾到头打印链表 JZ18 删除链表的节点 JZ22 链表中倒数最后k个结点 题目为剑指offer top100题目, 欢迎大家来学习&#x1f618; JZ3 数组中重复的数字 数组中重复的数字_牛客题霸_牛客网在一个长度为…

打印从1到最大的n位数(Golang)《剑指offer》

题目描述 题目&#xff1a;输入数字n&#xff0c;按顺序打印从1到最大的n位十进制数。比如输入3&#xff0c;则打印出1,2,3一直到最大的3位数999。 func Print1ToMaxOfDigits(n int) {if n < 0 {return}number : make([]int, n)for i : 0; i < 10; i {number[0] iprin…

《剑指 Offer》专项突破版 - 面试题 1 : 整数除法

题目链接&#xff1a;29. 两数相除 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 输入两个 int 型整数&#xff08;整数范围为 -2^31 ~ 2^31 - 1​&#xff09;&#xff0c;它们进行除法计算并返回商&#xff0c;要求不得使用乘号 *、除号 / 及求余符号 %。当发…

【剑指offer】树中两个结点的最低公共祖先

题目链接 acwing leetcode 题目描述 给出一个二叉树&#xff0c;输入两个树节点&#xff0c;求它们的最低公共祖先。 一个树节点的祖先节点包括它本身。 题目思路 需要回溯&#xff0c;将公共祖先结果返回&#xff0c;所以采用后序遍历&#xff1a;左右中&#xff0c;只有…