- 博客(14)
- 收藏
- 关注
原创 剑指 Offer 09. 用两个栈实现队列(C++版)
剑指 Offer 09. 用两个栈实现队列(C++版)用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue"
2022-04-25 11:22:34
329
原创 LeetCode05. 最长回文子串(C++版)
LeetCode05. 最长回文子串(C++版)给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成解题思路: 动态规划,dp[i][
2021-12-09 16:34:48
263
转载 LeetCode02.两数相加(C++版)
LeetCode02.两数相加(C++版)给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1
2021-12-08 17:11:23
242
原创 LeetCode01. 两数之和(C++版)
LeetCode01. 两数之和(C++版)给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nu
2021-12-07 11:27:48
359
原创 LeetCode116. 填充每个节点的下一个右侧节点指针(C++版)
LeetCode116. 填充每个节点的下一个右侧节点指针(C++版)给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用
2021-12-06 11:38:31
87
原创 LeetCode617. 合并二叉树(C++版)
LeetCode617. 合并二叉树(C++版)给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 2
2021-12-06 11:24:49
204
原创 LeetCode695. 岛屿的最大面积(C++版)
LeetCode695. 岛屿的最大面积(C++版)给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。示例 1:输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,
2021-12-05 22:10:09
1732
原创 LeetCode733. 图像渲染(C++版)
LeetCode733. 图像渲染(C++版)有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜
2021-12-05 21:25:24
157
原创 LeetCode567. 字符串的排列(C++版)
LeetCode567. 字符串的排列(C++版)给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例 1:输入:s1 = "ab" s2 = "eidbaooo"输出:true解释:s2 包含 s1 的排列之一 ("ba").示例 2:输入:s1= "ab" s2 = "eidboaoo"输出:false提示:1 <= s1.length,
2021-12-04 21:43:50
364
原创 LeetCode03.无重复字符的最长子串(C++版)
LeetCode03.无重复字符的最长子串(C++版)给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
2021-12-04 17:19:01
571
原创 C++实现string类
c++实现string类1.写防卫式声明和结尾#ifndef String#define String#endif2.写class里的内容,函数可只写接口class String{ public: String(char *str = 0); String(const String &str); String& operator=(const String &str); ~String();
2021-11-03 21:25:24
463
原创 C++实现复数类
手把手带你用c++写复数的实现其中运算只以加法举例,还可以自己实现加减乘除,正弦余弦等。代码可以参考标准库。标准库确实写得很好,但也不是圣经,学习的时候也可以多多质疑~1.写防卫式定义和结尾#ifndef _COMPLEX_#define _COMPLEX_……#endif2.写主体数据放在private部分;public部分写构造函数,+=运算符函数,获取实部和虚部的函数(复数的实部和虚部写在private里,外部调用需要再写函数来实现);构造函数通过初始化序列写,提高效率;
2021-10-28 09:31:35
2639
原创 C++学习笔记——第一天
c++面向对象高级编程2021.10.251.目标:培养正规的、大气的编程习惯以良好的方式编写C++ classes①class without pointer members,不含指针的,比如:复数;②calss with pointer members,含指针的,比如:字符串。学习classes之间的关系 ——继承 ——封装 ——多态2.基于对象和面向对象 Objected Based(基于对象):面对的是单一class的设计; Obj
2021-10-25 21:51:34
317
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人