LeetCode | 225. 用队列实现栈
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/implement-stack-using-queues/
题解12345678910111213141516171819202122232425262728293031323334353637class MyStack{public: queue<int> queue1; //主队列 queue<int> queue2; //辅助队列 MyStack() { } void push(int x) { queue2.push(x); while (!queue1.empty()) { queue2.push(queue1.fr ...
LeetCode | 169. 多数元素
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/majority-element/
题解123456789class Solution{public: int majorityElement(vector<int> &nums) { sort(nums.begin(), nums.end()); return nums[nums.size() / 2]; }};
思路这题只要做过一遍就肯定记住了,排序完成后n/2下标对应的值肯定是结果仔细审题,多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素,而不是指出现次数最多的元素。
LeetCode | 151. 颠倒字符串中的单词
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/reverse-words-in-a-string/
12345678910111213141516171819202122232425262728293031323334class Solution{public: string reverseWords(string s) { // 反转整个字符串 reverse(s.begin(), s.end()); int n = s.size(); int idx = 0; for (int start = 0; start < n; start++) { if (s[start] != ' ...
LeetCode | 141. 环形链表
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/linked-list-cycle/
题解123456789101112131415161718class Solution{public: bool hasCycle(ListNode *head) { unordered_set<ListNode *> seen; while (head != nullptr) { if (seen.count(head)) { return true; } seen.insert(head); head = he ...
LeetCode | 136. 只出现一次的数字
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/single-number/
思路经典的异或我们先来找找关键词:
一个元素出现一次
其他元素都出现两次
这边这个两次很有意思啊,注意是两次而不是多次,所以我们可以考虑异或来解决,由于异或运算满足交换律和结合律,而自己跟自己的异或为0,所以按照题目的条件,把数组中的内容全部异或后最后的结果就是那个只出现一次的数字。
题解1234567891011class Solution{public: int singleNumber(vector<int> &nums) { int ret = 0; for (auto e : nums) ret ^= e; return ret; ...
LeetCode | 88. 合并两个有序数组
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
题解12345678910111213141516171819202122232425262728293031323334class Solution{public: void merge(vector<int> &nums1, int m, vector<int> &nums2, int n) { int p1 = 0, p2 = 0; int sorted[m + n]; int cur; while (p1 < m || p2 < n) { if (p1 == m) //如果nums1已经全部存入新数组 { cur = ...
LeetCode | 94|144|145. 二叉树的前中后序遍历
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
思路是个人都会吧,不是很想写了,后面碰到相关的变化题再整理一下
二叉树的前序遍历1234567891011121314151617class Solution {public: void preorder(TreeNode *root, vector<int> &res) { if (root == nullptr) { return; } res.push_back(root->val); preorder(root->left, res); preorder(root->right, res); } vector<int> preorderTraversal( ...
LeetCode | 66. 加一
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
题解12345678910111213141516171819202122232425class Solution{public: vector<int> plusOne(vector<int> &digits) { int n = digits.size(); for (int i = n - 1; i >= 0; i--) { if (digits[i] != 9) { digits[i]++; for (int j = i + 1; j < n; j++) { ...
LeetCode | 26. 删除有序数组中的重复项
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
题解1234567891011121314151617181920212223class Solution{public: int removeDuplicates(vector<int> &nums) { int n = nums.size(); if (n == 0) { return 0; } int fast = 1, slow = 1; while (fast < n) { if (nums[fast] != nums[fast - 1]) { nums[slow] = n ...
LeetCode | 21. 合并两个有序链表
我的Bilibili频道:香芋派Taro我的个人博客:taropie0224.github.io(阅读体验更佳)我的公众号:香芋派的烘焙坊我的音频技术交流群:1136403177我的个人微信:JazzyTaroPie
题解12345678910111213141516171819202122232425class Solution{public: ListNode *mergeTwoLists(ListNode *list1, ListNode *list2) { if (list1 == nullptr) { return list2; } else if (list2 == nullptr) { return list1; } else if (list1->val < list2->val) { list ...