自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李昊的博客

越努力,越幸运!

  • 博客(71)
  • 收藏
  • 关注

原创 leetcode 面试题 08.07. 无重复字符串的排列组合

class Solution {public: vector<string> permutation(string S) { vector<string> res; sort(S.begin(), S.end()); do { res.push_back(S); }while(next_permutation(S.begin(), S.end())); .

2020-07-31 21:35:17 590

原创 leetcode 92. 反转链表 II

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { if.

2020-07-31 21:27:58 100

原创 leetcode 剑指 Offer 25. 合并两个排序的链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> list(ListNode* L) { vector<int>.

2020-07-31 20:54:21 111

原创 leetcode 剑指 Offer 06. 从尾到头打印链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> reversePrint(ListNode* head) { if(!head).

2020-07-31 20:42:21 161

原创 leetcode 剑指 Offer 38. 字符串的排列

class Solution {public: vector<string> permutation(string s) { vector<string> res; sort(s.begin(),s.end()); do{ res.push_back(s); }while(next_permutation(s.begin(),s.end())); return res;.

2020-07-31 20:38:16 118

原创 leetcode 47. 全排列 II

class Solution {public: vector<vector<int>> permuteUnique(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> res; do { res.push_back(nums); }w.

2020-07-31 20:37:30 139

原创 leetcode 46. 全排列

class Solution {public: vector<vector<int>> permute(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> res; do { res.push_back(nums); }while(n.

2020-07-31 20:36:43 124

原创 leetcode 24. 两两交换链表中的节点

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* swapPairs(ListNode* head) { if(head == nullptr) .

2020-07-31 19:47:54 116

原创 leetcode 25. K 个一组翻转链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseKGroup(ListNode* head, int k) { if(head ==.

2020-07-31 19:33:36 93

原创 leecode 8. 字符串转换整数 (atoi)

class Solution {public: int myAtoi(string str) { int i = 0, flag = 1; long res = 0; //默认flag = 1,正数 while (str[i] == ' ') i ++; //若str全为空格,str[i] = '\0'(最后一个i) if (str[i] == '-') flag = -1; if (str[i] == '-' ||.

2020-07-31 16:12:44 125

原创 leetcode 1108. IP 地址无效化

class Solution {public: string defangIPaddr(string address) { string res; for(int i = 0; i < address.size(); i++) { if(address[i] == '.') { res += "[.]"; } els.

2020-07-30 21:32:04 118

原创 leetcode 693. 交替位二进制数

class Solution {public: bool hasAlternatingBits(int n) { vector<int> tmp; while(n) { tmp.push_back(n % 2); n /= 2; } for(int i = 0; i < tmp.size() - 1; i++) { .

2020-07-30 21:16:29 115

原创 leetcode 230. 二叉搜索树中第K小的元素

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *.

2020-07-30 21:09:38 131

原创 leetcode 461. 汉明距离

class Solution {public: int hammingDistance(int x, int y) { vector<int> vecx; vector<int> vecy; while(x) { vecx.push_back(x % 2); x /= 2; } while(y) { .

2020-07-30 20:36:44 183

原创 leetcode 451. 根据字符出现频率排序

class Solution {public: string frequencySort(string s) { set<char> tmp; for(int i = 0; i < s.size(); i++) { tmp.insert(s[i]); } multimap<int, char> m; for(auto it = tmp.begin(.

2020-07-30 20:21:55 118

转载 二叉树的先序、中序、后序递归与非递归实现遍历

参考链接:https://www.cnblogs.com/houjun/p/10063468.html

2020-07-30 16:40:47 82

原创 leetcode 面试题 02.06. 回文链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool isPalindrome(ListNode* head) { vector<int> vec;.

2020-07-30 13:11:44 133

原创 leetcode 面试题 16.16. 部分排序

class Solution {public: vector<int> subSort(vector<int>& array) { if(!array.size()) { return {-1, -1}; } vector<int> res; vector<int> temp = array; sort(temp.begi.

2020-07-30 12:44:21 258

原创 leetcode 100. 相同的树

/** * 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 isSameTree(TreeNode* p, T.

2020-07-30 10:49:27 120

原创 leetcode 剑指 Offer 54. 二叉搜索树的第k大节点

/** * 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: vector<int> res; vec.

2020-07-30 09:52:09 188

原创 leetcode 234. 回文链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool isPalindrome(ListNode* head) { vector<int> vec;.

2020-07-28 15:15:06 104

原创 leetcode 1305. 两棵二叉搜索树中的所有元素

/** * 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: void dfs(TreeNode* node, vect..

2020-07-28 14:31:48 99

原创 leetcode 148. 排序链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* sortList(ListNode* head) { if(head == nullptr) .

2020-07-28 14:25:54 114

原创 leetcode 147. 对链表进行插入排序

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* insertionSortList(ListNode* head) { if(head == nu.

2020-07-28 14:22:46 84

原创 leetcode 1528. 重新排列字符串

class Solution {public: string restoreString(string s, vector<int>& indices) { string temp = s; for(int i = 0; i < indices.size(); i++) { char c = s[i]; s[i] = temp[indices[i]]; ..

2020-07-28 14:11:47 199

原创 leetcode 1502. 判断能否形成等差数列

class Solution {public: bool canMakeArithmeticProgression(vector<int>& arr) { sort(arr.begin(), arr.end()); for(int i = 0; i < arr.size() - 1; i++) { if(arr[i + 1] - arr[i] != arr[1] - arr[0]) .

2020-07-28 13:55:56 175

原创 leetcode 145. 二叉树的后序遍历

参考链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/solution/die-dai-fa-by-jason-2//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(

2020-07-27 21:08:22 93

原创 leetcode 94. 二叉树的中序遍历

参考链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/solution/die-dai-fa-by-jason-2//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(

2020-07-27 21:04:54 103

原创 leetcode 144. 二叉树的前序遍历

参考链接:https://www.jianshu.com/p/88af12725af8/** * 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

2020-07-27 20:57:12 97

转载 面试题之strcpy/strlen/strcat/strcmp的实现

参考链接:https://www.cnblogs.com/songlee/p/5738091.html 阿里的电面要我用C/C++实现一个字符串拷贝的函数,虽然以前写过 strcpy 的函数实现,但时间过去很久了,再加上有点紧张,突然就措手不及了。最后写是写出来了,但没考虑异常的情况,面试官好像很不满意。(T_T),写篇文章记录一下

2020-07-27 19:00:59 148

转载 C++实现复数类

B站参考链接:https://www.bilibili.com/video/BV1Da4y1a7KJ?p=6

2020-07-27 16:19:49 108

原创 leetcode 1464. 数组中两元素的最大乘积

class Solution {public: int maxProduct(vector<int>& nums) { sort(nums.begin(), nums.end()); return (nums[nums.size() - 1] - 1) * (nums[nums.size() - 2] - 1); }};

2020-07-27 11:08:46 134

原创 leetcode 485. 最大连续1的个数

class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int res = 0; int count = 0; for(int i = 0; i < nums.size(); i++) { if(nums[i] == 1) { count++.

2020-07-27 11:04:52 62

原创 leetcode 1460. 通过翻转子数组使两个数组相等

class Solution {public: bool canBeEqual(vector<int>& target, vector<int>& arr) { sort(target.begin(), target.end()); sort(arr.begin(), arr.end()); if(target == arr) { return true; .

2020-07-27 10:23:41 158

原创 leetcode 896. 单调数列

class Solution {public: bool isMonotonic(vector<int>& A) { vector<int> B = A; vector<int> C = A; sort(B.begin(), B.end()); sort(C.begin(), C.end(), greater<int>()); if(A == B || A .

2020-07-27 10:20:00 150

原创 leetcode 1491. 去掉最低工资和最高工资后的工资平均值

class Solution {public: double average(vector<int>& salary) { sort(salary.begin(), salary.end()); double sum = accumulate(salary.begin(), salary.end(), 0.0); double res = sum - salary[0] - salary[salary.size() - 1];.

2020-07-27 09:53:40 248

原创 leetcode 392. 判断子序列

class Solution {public: bool isSubsequence(string s, string t) { int n = s.length(), m = t.length(); int i = 0, j = 0; while (i < n && j < m) { if (s[i] == t[j]) { i++; } .

2020-07-27 09:38:48 68

原创 leetcode 73. 矩阵置零

class Solution {public: void setZeroes(vector<vector<int>>& matrix) { unordered_multimap<int, int> m; int row = matrix.size(); int col = matrix[0].size(); for(int i = 0; i < row; i++) {.

2020-07-26 21:10:47 88

原创 leetcode 347. 前 K 个高频元素

class Solution {public: vector<int> topKFrequent(vector<int>& nums, int k) { set<int> s; for(int i = 0; i < nums.size(); i++) { s.insert(nums[i]); } multimap<int, int>.

2020-07-26 20:17:50 70

原创 leetcode 219. 存在重复元素 II

class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { if(nums.size() < 2) { return false; } vector<int> temp = nums; sort(temp.begin(), temp.end()); .

2020-07-26 19:49:10 216

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除