- 博客(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
原创 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关注的人