leetcode
LHY08005
这个作者很懒,什么都没留下…
展开
-
Leetcode 889.根据前序和后序遍历构造二叉树
/** * 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: TreeNode* constructFromPrePost(原创 2021-05-28 22:41:09 · 66 阅读 · 0 评论 -
Leetcode 437.路径综合III
/** * 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) {} *原创 2021-05-27 22:34:00 · 66 阅读 · 0 评论 -
Leetcode 面试题 04.03. 特定深度节点链表
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; *//** * Definition for singly-linked list. * struct ListNode原创 2021-05-16 20:26:25 · 96 阅读 · 0 评论 -
Leetcode 剑指Offer 34.二叉树中和为某一值的路径
class Solution {public: vector<vector<int>> pathSum(TreeNode* root, int target) { vector<vector<int>> res; vector<int> path; findPath(root, target, res, path); return res; } void fi原创 2021-05-16 19:57:52 · 78 阅读 · 0 评论 -
Leetcode 剑指Offer 68 - II.二叉树的最近祖先
/** * 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: TreeNode* lowestCommonAncestor(原创 2021-05-01 23:08:39 · 54 阅读 · 0 评论 -
Leetcode 面试题 16.25.LRU 缓存
struct DLinkedNode { int key, value; DLinkedNode* prev; DLinkedNode* next; DLinkedNode() :key(0), value(0), prev(nullptr), next(nullptr) {}; DLinkedNode(int _key, int _value):key(_key), value(_value), prev(nullptr), next(nullptr){}};c原创 2021-05-01 21:48:06 · 72 阅读 · 0 评论 -
Leetcode 153.寻找旋转排序数组中的最小值
class Solution {public: int findMin(vector<int>& nums) { int left = 0, right = nums.size() - 1; while (left < right) { int mid = (right - left) / 2 + left; if (nums[right] < nums[mid]) left = mid原创 2021-04-24 21:02:29 · 66 阅读 · 0 评论 -
Leetcode 163.寻找峰值
class Solution {public: int findPeakElement(vector<int>& nums) { int left = 0, right = nums.size() - 1; while (left < right) { int mid = (left + right) / 2; if (nums[mid] > nums[mid + 1]) {原创 2021-04-24 20:41:25 · 43 阅读 · 0 评论 -
Leetcode 03.06.动物收容所
class AnimalShelf {public: vector<queue<int>> shelves; AnimalShelf() { shelves.emplace_back(queue<int>()); shelves.emplace_back(queue<int>()); } void enqueue(vector<int> animal) {原创 2021-04-17 21:31:57 · 111 阅读 · 0 评论 -
Leetcode 42.接雨水
class Solution {public: int trap(vector<int>& height) { int n = height.size(); if (n == 0) return 0; vector<int> leftMax(n); leftMax[0] = height[0]; for (int i = 1; i < n; i++) { l原创 2021-04-17 21:06:23 · 52 阅读 · 0 评论 -
Leetcode 148.排序链表
/** * 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, ListNode *next) : val(x), next(next)原创 2021-04-10 11:19:12 · 55 阅读 · 0 评论 -
Leetcode 面试题 08.06.汉诺塔问题
class Solution {public: void hanota(vector<int>& A, vector<int>& B, vector<int>& C) { int n = A.size(); move(n, A, B, C); return; } void move(int n, vector<int>& A, vector<int&原创 2021-04-10 10:41:45 · 81 阅读 · 0 评论 -
Leetcode 剑指Offer 59 - II.队列的最大值
class MaxQueue {private: queue<int> que; deque<int> maxQue;public: MaxQueue() { } int max_value() { if (maxQue.empty()) return -1; return maxQue.front(); } void push_back(int value) {原创 2021-03-29 22:15:30 · 57 阅读 · 0 评论 -
Leetcode 剑指 Offer 59 -I.滑动窗口的最大值
优先队列class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { int n = nums.size(); if (n == 0) return {}; priority_queue<pair<int, int>> q; for (int i = 0; i < k; i原创 2021-03-29 17:44:01 · 60 阅读 · 0 评论 -
Leetcode 739.每日温度
class Solution {public: vector<int> dailyTemperatures(vector<int>& T) { int n = T.size(); vector<int> day(n, 0); stack<int> stk; for (int i = 0; i < n; i++) { while (!stk.empty原创 2021-03-24 16:59:08 · 51 阅读 · 0 评论 -
Leetcode 16.26.计算器
class Solution {public: int calculate(string s) { int n = s.size(); int num = 0; char preSign = '+'; vector<int> res; for (int i = 0; i < n; i++) { if (isdigit(s[i])) { num =原创 2021-03-24 16:22:49 · 70 阅读 · 0 评论 -
Leetcode206.反转链表
class Solution {public: ListNode* reverseList(ListNode* head) { ListNode* pre = nullptr; ListNode* temp = head; while (head != nullptr) { temp = head->next; head->next = pre; pre = head原创 2021-03-16 17:19:37 · 65 阅读 · 0 评论 -
Leetcode2.两数相加
class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* ptr1 = l1; ListNode* ptr2 = l2; ListNode* head = nullptr, *tail = nullptr; int carry = 0; while (ptr1 || ptr2) {原创 2021-03-16 16:55:34 · 68 阅读 · 0 评论