Leetcode
nullwh
这个作者很懒,什么都没留下…
展开
-
蒟蒻的LeetCode刷题记录101~110
101. 对称二叉树/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isSymmetric(Tre原创 2020-10-15 22:18:30 · 418 阅读 · 1 评论 -
蒟蒻的LeetCode刷题记录91~100
91. 解码方法class Solution {public: int numDecodings(string s) { int n = s.size(); s = ' ' + s;//为了方便,让下标从1开始,所以加上一个空格 vector<int> f(n + 1); f[0] = 1;//0个数字是的解码方案算作1 for (int i = 1; i <= n; i ++ ) {原创 2020-10-14 11:51:18 · 321 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录81~90
81. 搜索旋转排序数组 II和第33题类似的思路,依旧是二分,但是即便是二分,时间复杂度依旧是O(n)O(n)O(n),所以不如直接线性扫描一遍,具体的题解。class Solution {public: bool search(vector<int>& nums, int target) { for (auto& x : nums) { if (x == target) return true; }原创 2020-10-13 21:23:18 · 195 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录71~80
71. 简化路径原创 2020-10-12 18:14:28 · 150 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录61~70
61. 旋转链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* rotateRight(ListNode* head, int k) { if (原创 2020-10-11 22:47:34 · 100 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录51~60
51. N 皇后很经典的dfs:原创 2020-10-10 21:26:54 · 172 阅读 · 5 评论 -
蒟蒻的LeetCode刷题记录41~50
41. 缺失的第一个正数将数组所有的数放入哈希表,随后从 1 开始依次枚举正整数,并判断其是否在哈希表中;但是这样的做法不符合题目的空间要求:class Solution {public: int firstMissingPositive(vector<int>& nums) { unordered_set<int> hash; for (auto x : nums) hash.insert(x); int res原创 2020-10-09 22:49:04 · 150 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录31~40
31. 下一个排列本题考查的其实是next_permutation这个库函数。原创 2020-10-08 20:41:07 · 217 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录21~30
21. 合并两个有序链表跟之前剑指的题是一样的,直接归并。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListN原创 2020-10-07 18:06:54 · 131 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录11~20
11. 盛最多水的容器class Solution {public: int maxArea(vector<int>& height) { int res = 0; for (int i = 0, j = height.size() - 1; i < j; ) { res = max(res, min(height[i], height[j]) * (j - i)); if (height原创 2020-10-06 15:20:17 · 168 阅读 · 0 评论 -
蒟蒻的LeetCode刷题记录1~10
1.两数之和class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> hash; for (int i = 0; i < nums.size(); i++) { if (hash.count(target - nums[i])) return {ha原创 2020-10-05 22:54:33 · 203 阅读 · 0 评论