一、ListNode的定义    先看下链表的结构,有链表的值域,指针域,和链表赋值的方法。 public class ListNode{ // 链表的某个值 int val; // 链表指针指向的是下一个元素 ListNode next; // ListNode 赋值方法 ListNode(int x){val = x}; }  注意事项:       1.定义链表            定义链…

2020年11月30日 0条评论 13点热度 阅读全文

代码:(应该可以写的更加优雅一些) class Solution { public: string minNumberString(string num, int lefts) { /* 如果预留0长度,则返回空 */ if(0 == lefts) return ""; /* 剩下的字符串长度和预留字符相等,则不能再剔除字符串,直接返回整个字符串 */ if(num.length() == lefts) { return num; } int minIdx = 0; char minCh = num[0]; int…

2020年11月15日 0条评论 5点热度 阅读全文

代码: class Solution328_medium { public: ListNode* oddEvenList(ListNode* head) { if (nullptr == head || nullptr == head->next) return head; ListNode* odd_head = head, * odd = head; ListNode* even_head = head->next, * even = head->next; while (nullptr !=…

2020年11月14日 0条评论 9点热度 阅读全文

bfs的经典题目:代码: class Solution { public: int ladderLength(string beginWord, string endWord, vector<string>& wordList) { int minLength = INT_MAX; // 构造图的邻接举证表示 unordered_map<string, vector<string>> stringMap; for(const auto &s : wordList)…

2020年11月7日 0条评论 8点热度 阅读全文

思路很简单: 代码: class Solution1356_easy { public: vector<int> sortByBits(vector<int>& arr) { vector<int> hanmminNums(arr.size()); for (int i = 0; i < arr.size(); i++) hanmminNums[i] = hanmin(arr[i]); hanminQuickSort(arr, hanmminNums, 0, arr…

2020年11月7日 0条评论 6点热度 阅读全文

方法:回溯 + 剪枝 代码:(还可以有优化空间) class Solution47 { public: vector<vector<int>> permuteUnique(vector<int>& nums) { /* 做一个排序 */ sort(nums.begin(), nums.end()); return recursion(nums); } vector<vector<int>> recursion(vector<int> &…

2020年11月4日 0条评论 6点热度 阅读全文

思路非常简单,代码: class Solution { public: vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) { int left = newInterval[0]; int right = newInterval[1]; vector<vector<int>> ans; bool pl…

2020年11月4日 0条评论 5点热度 阅读全文

回溯法 + 记忆化 代码:  class Solution140_hard { public: vector<string> wordBreak(string s, vector<string>& wordDict) { if (s.empty()) return {}; unordered_set<string> wordSet; unordered_map<int, vector<string>> memorys; for (int …

2020年11月1日 0条评论 10点热度 阅读全文

代码: class RandomizedCollection381_hard { public: /** Initialize your data structure here. */ RandomizedCollection381_hard() { } /** Inserts a value to the collection. Returns true if the collection did not already contain the specified element. */ bool insert(…

2020年10月31日 0条评论 8点热度 阅读全文

这里采用的是先序遍历 ,代码: class Solution { public: int sumNumbers(TreeNode* root) { if(nullptr == root) return 0; int sum = 0; stack<int> cur_val; stack<TreeNode *> mystack; cur_val.push(root->val); mystack.push(root); while(mystack.size()) { TreeNode *no…

2020年10月29日 0条评论 8点热度 阅读全文