
刷题
记录部分刷题LeetCode,牛客等
Jqivin
这个作者很懒,什么都没留下…
展开
-
二叉树刷题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录NC15二叉树的层序遍历NC15二叉树的层序遍历链接class Solution {public: vector<vector<int> > levelOrder(TreeNode* root) { TreeNode* ptr = root; vector<vector<int>> ans; if(ptr == null原创 2021-08-27 22:27:28 · 64 阅读 · 0 评论 -
丑数及其相关的题目
文章目录什么是丑数JZ49 丑数(mid)什么是丑数丑数丑数 就是只包含质因数 2、3 或 5 的正整数。把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但7、14不是,因为它们包含质因子7。习惯上我们把1当做是第一个丑数。前20个丑数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36。class Solution {public: bool is.原创 2021-08-13 22:14:44 · 339 阅读 · 0 评论 -
5.替换空格
文章目录一、题目描述二、解题思路三、代码展示四、结果:总结:一、题目描述请实现一个函数,吧字符串中的每个空格替换成"%20".例如,输入"we are happy.",则输出"we%20are%20happy."。二、解题思路先遍历字符串,找出空格的个数,然后扩容字符串,定义两个指针,一个在扩容后的末尾(p2),一个在扩容之前的末尾(p1),如果p1指向的值不是空格,那么*p2 = p1,并且都向前走。如果p1指向的元素为空格,那么p2变成"%20",然后再向前移动。直到他们两个相等。三、代码.原创 2021-05-20 20:49:56 · 111 阅读 · 0 评论 -
二分查找 (适用于有序)
题目描述解题思路使用left和right两个整型值来记录数组的两端,使用mid = left + (right - left)/ 2来表示中间的值。如果nums[mid] < target ,left = mid+1;如果nums[mid] > target,right = mid-1;如果nums[mid] == target,再进行判断mid是不是第一个出现的target。这个就是第一次做错的原因;代码展示int search(vector<int>& n原创 2021-06-05 20:52:06 · 181 阅读 · 0 评论 -
NC76 用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路首先,有两个栈,stack1,stack2,。我们用stack1来执行push操作,直接stack1.push(n)就可以。在stack2中执行pop操作,需要分两种情况,(1)stack2为空,这时候,要把Stack1中的元素挪到stack2中,然后在进行pop。(2)不为空,直接pop就可以了。代码展示class Solution{public: void Swap() {原创 2021-06-05 20:31:45 · 140 阅读 · 0 评论 -
NC4 链表是否有环
题目描述NC4 链表是否有环解题思路错误思想:定义一个指针,让他往下走,如果和head相等就证明有环。这是错误的,因为可能是这种情况:所以这样的代码可能无限循环。正确的解法:快慢指针代码展示/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *原创 2021-06-05 19:53:34 · 132 阅读 · 0 评论 -
NC 15 二叉树的层序遍历
题目描述二叉树的层序遍历解题思路运用二叉树的层序遍历和二叉树的深度计算的思想;代码展示/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solution {public: /** * * @param root TreeNode类 * @return int整型vector<vecto原创 2021-06-05 19:19:46 · 114 阅读 · 0 评论 -
NC119 最小的K个数
文章目录题目描述解题思路代码展示题目描述解题思路先排序,再返回。代码展示class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { if(k > input.size()) return vector<int>(0); int MinIndex = 0; .原创 2021-06-01 20:36:49 · 96 阅读 · 0 评论