//returnasea
//returnasea
全部文章
分类
题解(106)
归档
标签
去牛客网
登录
/
注册
//returnasea的博客
全部文章
(共106篇)
题解 | #字符串变形#
首先遍历字符串s,将其中的大写字母转小写,小写字母转大写,如果遇到空格置标志space为true。 如果标志space为true,还需要以空格为间隔,反转单词,利用双指针的reverse函数。 class Solution { public: string trans(string s, i...
C++
2021-10-18
0
385
题解 | #序列化二叉树#
序列化:前序遍历,将遍历结果保存在string中。 逆序列化,将序列化得到的string输出到流stringstream中,利用流不断的输出,递归建立二叉树,逆序列化同样是一个前序的过程,创建当前结点,并且创建当前结点的左右子结点,再递归创建当前结点的左子树和右子树,若当前结点为空则返回。 /* s...
C++
2021-10-18
0
391
题解 | #二叉搜索树的第k个结点#
中序遍历,并将结点保存在数组中,数组k-1下标对应的结点就是二叉搜索树的第k个结点。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x...
C++
2021-10-15
0
437
题解 | #丢棋子问题#
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 返回最差情况下扔棋子的最小次数 * @param n int整型 楼层数 * @param k int整型 棋子...
C++
2021-10-13
0
405
题解 | #二分查找-II#
有重复元素的二分查找,求第一个满足条件的元素出现的下标,当target<=nums[mid]时,继续在左半区寻找,right=mid-1; 最后对于下标为0的情况要进行判断。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,...
C++
2021-10-13
0
352
题解 | #回文数字#
把int转成string再用双指针进行判断 class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { ...
C++
2021-10-13
0
441
题解 | #最长公共前缀#
common_str用于保存最长公共前缀结果,首先将其内容设置成第一个字符串,然后与第二个字符串从前向后遍历比较,得到第一个字符串和第二个字符串的公共前缀,再将得到的公共子串与第三个字符串比较..., 最终得到所有字符串的公共前缀。 class Solution { public: /** ...
C++
2021-10-13
0
407
题解 | #最长的括号子串#
栈。让栈中保存最后一个没有被匹配的右括号的下标,当遇到左括号时,将左括号的下标入栈,当遇到右括号时,弹出栈顶元素表示「最后一个没有被匹配的右括号的下标」,如果栈不为空,当前右括号的下标减去栈顶元素即为「以该右括号为结尾的最长有效括号的长度」。 class Solution { public: ...
C++
2021-10-13
1
389
题解 | #最长的括号子串#
动态规划,dp[ i ]表示以下标i结尾的字符串的最长有效括号的长度。最长有效括号的长度:就是尾端的右括号’)’和前面的左括号’(’括起来的部分的长度。于是对于第i个位置,如果s[ i ] == ’(’,则前面没有与之相匹配的左括号dp[ i ] = 0.如果s[ i ] == ’)’,分为两种情况...
C++
2021-10-13
0
499
题解 | #加起来和为目标值的组合#
数组num中有重复元素,在回溯时需要进行剪枝和去重,剪枝部分为num[i]+sum<=target;去重的方法是if(i>index && num[i]==num[i-1]) continue;表示对于重复元素如果已经纵向遍历了,那么就不必再横向遍历了。 class So...
C++
2021-10-12
0
413
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页