offer
剑指 Offer 32 - I. 从上到下打印二叉树(中等)
题目:  //考察BFS(广度优先搜索) ``` class Solution { public: vector ......
代码随想录算法训练营第七天|力扣334.反转字符串、力扣541.反转字符串II、剑指offer05.替换空格、力扣151.反转字符串、剑指offer58-II左旋转字符串里的单词
# 字符串 ## 反转字符串(力扣344.) - **如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。** 毕竟面试官一定不是考察你对库函数的熟悉程度, 如果使用python和java 的同学更需要注意这一点,因为python、java提供的库函数十分丰富。 - **如果库函数仅仅是 ......
【LeetCode剑指offer#06】实现pow函数、计算x的平方根
### 实现pow函数 实现 [pow(*x*, *n*)](https://www.cplusplus.com/reference/valarray/pow/) ,即计算 `x` 的整数 `n` 次幂函数(即,`xn` )。 **示例 1:** ``` 输入:x = 2.00000, n = 10 ......
剑指 Offer 27. 二叉树的镜像(简单)
题目:  class Solution { public: void traversal(TreeNode* cu ......
剑指 Offer 32 - II. 从上到下打印二叉树 II(简单)
题目:  ``` class Solution { public: void traversal(TreeNode* ......
剑指 Offer 42. 连续子数组的最大和
[剑指 Offer 42. 连续子数组的最大和](https://leetcode.cn/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/description/) ``` class Solution { public int maxSubArray(in ......
剑指 Offer 10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加 ......
剑指 Offer 34. 二叉树中和为某一值的路径
[剑指 Offer 34. 二叉树中和为某一值的路径](https://leetcode.cn/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/description/) ## 1.先写一种错误的写法,这是自己第一次写的写法 ` ......
【剑指Offer】16、合并两个排序的链表
# 【剑指Offer】16、合并两个排序的链表 **题目描述:** 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 **解题思路:** 首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空, ......
剑指 Offer 04. 二维数组中的查找(中等)
题目:  ``` class Solution { public: bool findNumberIn2DArray( ......
剑指 Offer 50. 第一个只出现一次的字符(简单)
题目:  ``` class Solution { public: char firstUniqChar(stri ......
剑指 Offer 11. 旋转数组的最小数字(简单)
题目:  ``` class Solution { public: int minArray(vector& num ......
剑指 Offer 17. 打印从1到最大的n位数
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] **无脑** ``` class Solution { public int[] prin ......
剑指 Offer 31. 栈的压入、弹出序列(中等)
题目:  ``` class Solution { public: bool validateStackSequen ......
剑指 Offer 55 - I. 二叉树的深度
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: ``` 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 ``` **使用递归回溯* ......
剑指 Offer 53 - II. 0~n-1中缺失的数字(简单)
题目:  ``` class Solution { public: int missingNumber(vecto ......
剑指 Offer 53 - I. 在排序数组中查找数字 I(简单)
题目:  ``` class Solution { public: int search(vector& nums ......
剑指 Offer 03. 数组中重复的数字(简单)
题目;  ``` class Solution { public: int findRepeatNumber(vec ......
剑指 Offer 57. 和为s的两个数字
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31, ......
剑指 Offer 29. 顺时针打印矩阵(简单)
题目:  //不可以用代码随想录里螺旋矩阵的思路 ``` class Solution { public: vect ......
剑指 Offer 59 - II. 队列的最大值(中等)
题目:  ``` class MaxQueue { public: deque que1; //使用两个双端栈(deq ......
剑指 Offer 30. 包含min函数的栈(简单)
题目:  ``` class MinStack { public: stack st1; //维护原栈 stack ......
剑指offer_20230731
# 剑指 Offer 07. 重建二叉树 ## 题目说明 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 ## 解题思路 可以通过前序遍历的数组获取每个子树的根节点,并在中序遍历的数组中找到根节点对应的位置,然后就可以确 ......
【剑指Offer】15、反转链表
# 【剑指Offer】15、反转链表 **题目描述:** 输入一个链表,反转链表后,输出新链表的表头。 **解题思路:** 本题比较简单,有两种方法可以实现:(1)三指针。使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。将指针反转后,三个结点依次前移即可。(2)递归方法。同样可 ......
剑指 Offer 59 - I. 滑动窗口的最大值(困难)
题目:  ``` class Solution { public: vector maxSlidingWindow ......
剑指offer_20230728
# 剑指 Offer 68 - II. 二叉树的最近公共祖先 ## 题目说明 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也 ......
【剑指Offer】14、链表中倒数第k个结点
# 【剑指Offer】14、链表中倒数第k个结点 **题目描述:** 输入一个链表,输出该链表中倒数第k个结点。为了符合习惯,从1开始计数,即链表的尾结点是倒数第1个节点。例如,一个链表有6个结点,从头结点开始,它们的值依次是1,2,3,4,5,6。则这个链表倒数第三个结点是值为4的结点。 **解题 ......
剑指 Offer 09. 用两个栈实现队列(简单)
题目:  ``` class CQueue { public: stack st1; stack st2; CQu ......
剑指 Offer 58 - I. 翻转单词顺序(简单)(简单个屁!)
题目:  
题目:  ``` class Solution { public: vector twoSum(vector& n ......