自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(168)
  • 收藏
  • 关注

原创 二叉树的层次遍历

二叉树的层次遍历,使用一个队列来进行处理。

2024-04-01 16:18:20 391

原创 二叉树的中序遍历

【代码】二叉树的中序遍历。

2024-04-01 15:19:32 93

原创 二叉树的遍历结果

push right child into stack // 将右子节点压入栈中。push left child into stack // 将左子节点压入栈中。add tmp's value to result // 将当前节点值加入结果列表。if tmp has right child: // 如果当前节点有右子节点。if tmp has left child: // 如果当前节点有左子节点。push root into stack // 将根节点压入栈中。

2024-04-01 14:36:50 226

原创 Leetcode 链表反转

链表反转的关键在于理解节点指针的转换过程,确保每个节点的指针都正确指向前一个节点,从而实现链表的逆序排列。通过掌握这些基本原理,可以编写高效且正确的链表反转算法,应用于各种实际问题中。链表反转是指将一个单链表中的所有节点顺序逆转,即原先指向下一个节点的指针指向前一个节点,从而改变链表节点的指向关系。链表反转的基本原理可以通过迭代或递归两种方式来实现。

2024-03-14 10:48:25 425

原创 设计模式 之单例模式

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供全局访问点,使得该实例可以在程序的任何地方被访问。单例模式经常用于管理共享资源或限制对象创建数量的情况下。

2023-11-22 11:06:35 630

原创 c++ unordered_map

#include <iostream>#include <unordered_map> int main(){ // simple comparison demo std::unordered_map<int , char> exp= {{1,'b'},{2,'c'},{3,'d'}}; auto search = exp.find(2); if(search !=exp.end()){ std::cout&l.

2020-08-11 16:30:23 187

原创 code

class Solution{public: void push(int node) { stack1.push(node); } int pop() { int temp; while(stack2.empty()){ while(!stack1.empty()){ temp = stack1.top(); stack1.pop...

2020-06-15 15:51:05 238

原创 101. 对称二叉树

101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3/** * Definition for a binary tree node. * struct TreeNod...

2020-05-13 21:09:08 288

原创 94. 二叉树的中序遍历

94. 二叉树的中序遍历给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right;...

2020-05-13 20:21:04 132

原创 98. 验证二叉搜索树

98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]...

2020-05-13 16:16:28 180

原创 63. 不同路径 II

63. 不同路径 II一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。说明:m和n的值均不超过 100。示例...

2020-05-06 10:47:01 116

原创 120. 三角形最小路径和

120. 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1= 11)。说明:如果你可以只使用O(n)的额外空间(n为三角形的总行数)来解决这个...

2020-05-04 14:56:55 183

原创 53. 最大子序和

53. 最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。class Solution {p...

2020-05-04 14:06:38 105

原创 79. 单词搜索

79. 单词搜索给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 ...

2020-05-03 15:42:33 124

原创 341. 扁平化嵌套列表迭代器

341. 扁平化嵌套列表迭代器给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用next 直到hasNext 返回 false,next返回的元素的...

2020-05-02 15:16:42 117

原创 394. 字符串解码

394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会...

2020-05-02 14:49:08 155

原创 95. 不同的二叉搜索树 II

95. 不同的二叉搜索树 II给定一个整数n,生成所有由 1 ...n为节点所组成的二叉搜索树。示例:输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 ...

2020-05-02 11:14:36 78

原创 93. 复原IP地址

93. 复原IP地址给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]class Solution {public: vector<string> ans; vector<int> path...

2020-04-29 13:57:36 181

原创 257. 二叉树的所有路径

257. 二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3/** * Definition f...

2020-04-29 13:06:18 95

原创 77. 组合

77. 组合给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]class Solution {public: vector<vector<int>> re...

2020-04-29 11:00:32 108

原创 784. 字母大小写全排列

784. 字母大小写全排列给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a1b2"输出: ["a1b2", "a1B2", "A1b2", "A1B2"]输入: S = "3z4"输出: ["3z4", "3Z4"]输入: S = "12345"输出: ["12345"]注意...

2020-04-29 10:24:29 170

原创 200. 岛屿数量

200. 岛屿数量给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:1100011000001000001...

2020-04-28 22:17:18 215

原创 733. 图像渲染

有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标(sr, sc)表示图像渲染开始的像素值(行 ,列)和一个新的颜色值newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与...

2020-04-28 20:19:56 287

原创 111. 二叉树的最小深度

111. 二叉树的最小深度难度简单245收藏分享切换为英文关注反馈给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2....

2020-04-28 19:42:44 104

原创 111. 二叉树的最小深度

111. 二叉树的最小深度难度简单245收藏分享切换为英文关注反馈给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7/** * Defi...

2020-04-28 14:37:59 101

原创 92. 反转链表 II

92. 反转链表 II反转从位置m到n的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL/** * Definition for sin...

2020-04-25 12:25:38 85 1

原创 206. 反转链表

206. 反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?/** * Definition for singly-linked list. * struct List...

2020-04-24 15:59:47 67

原创 206. 反转链表

206. 反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?/** * Definition for singly-linked list. * struc...

2020-04-24 15:43:07 76

原创 24. 两两交换链表中的节点

24. 两两交换链表中的节点难度中等474收藏分享切换为英文关注反馈给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3./** * Definition for singly-linked ...

2020-04-24 15:21:40 92

原创 61. 旋转链表

61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋...

2020-04-23 13:27:22 113

原创 83. 删除排序链表中的重复元素

83. 删除排序链表中的重复元素难度简单293收藏分享切换为英文关注反馈给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for sing...

2020-04-23 10:52:16 110

原创 237. 删除链表中的节点

237. 删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4...

2020-04-23 10:28:05 101

原创 24. 机器人的运动范围

地上有一个mm行和nn列的方格,横纵坐标范围分别是0∼m−10∼m−1和0∼n−10∼n−1。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。但是不能进入行坐标和列坐标的数位之和大于kk的格子。请问该机器人能够达到多少个格子?样例1输入:k=7, m=4, n=5输出:20样例2输入:k=18, ...

2020-04-22 21:26:19 237 1

原创 18. 重建二叉树

输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。注意:二叉树中每个节点的值都互不相同; 输入的前序遍历和中序遍历一定合法;样例给定:前序遍历是:[3, 9, 20, 15, 7]中序遍历是:[9, 3, 15, 20, 7]返回:[3, 9, 20, null, null, 15, 7, null, null, null, null]返回的二叉树如下所示: ...

2020-04-22 09:38:11 85

原创 17. 从尾到头打印链表

输入一个链表的头结点,按照从尾到头的顺序返回节点的值。返回的结果用数组存储。样例输入:[2, 3, 5]返回:[5, 3, 2]/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(in...

2020-04-21 20:40:58 128

原创 16. 替换空格

16. 替换空格请实现一个函数,把字符串中的每个空格替换成"%20"。你可以假定输入字符串的长度最大是1000。注意输出字符串的长度可能大于1000。样例输入:"We are happy."输出:"We%20are%20happy."class Solution {public: string replaceSpaces(string &...

2020-04-21 20:29:05 137

原创 15. 二维数组中的查找

15. 二维数组中的查找题目来源 https://www.acwing.com/problem/content/16/在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。样例输入数组:[ [1,2,8,9], [2,4,9,12], [4,7,10...

2020-04-21 20:15:41 87

原创 14. 不修改数组找出重复的数据

14. 不修改数组找出重复的数据给定一个长度为n+1n+1的数组nums,数组中所有的数均在1∼n1∼n的范围内,其中n≥1n≥1。请找出数组中任意一个重复的数,但不能修改输入的数组。样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 3。思考题:如果只能使用O(1)O(1)的额外空间,该怎么做呢?cl...

2020-04-21 19:46:05 239

原创 13. 找出数组中重复的数字

13. 找出数组中重复的数字题目来源 https://www.acwing.com/problem/content/description/14/给定一个长度为nn的整数数组nums,数组中所有的数字都在0∼n−10∼n−1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在0...

2020-04-21 16:51:41 182

原创 149. 直线上最多的点数 没有通过---

149. 直线上最多的点数难度困难132收藏分享切换为英文关注反馈给定一个二维平面,平面上有n个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +------------->0 1 2 3 4示例2:输入: [[1,1],...

2020-04-21 15:25:26 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除