
leetcode
恋上豆沙包
这个作者很懒,什么都没留下…
展开
-
剑指 Offer II 025. 链表中的两数相加
给定两个 非空链表 l1和 l2 来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。可以假设除了数字 0 之外,这两个数字都不会以零开头。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {}.原创 2022-04-15 00:31:20 · 223 阅读 · 0 评论 -
leetcode 48 旋转矩阵
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。class Solution {public: void rotate(vector<vector<int>>& matrix) { auto temp_matrix= matrix; int n=matrix.size();原创 2022-01-13 15:40:46 · 179 阅读 · 0 评论 -
leetcode 141 环形链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCycle(ListNode *head) { set<ListNode*> m; .原创 2021-06-16 00:57:02 · 180 阅读 · 0 评论 -
面试题 08.01. 三步问题
int waysToStep(int n) { if (n == 0) return 0; if (n == 1) return 1; if (n == 2) return 2; if (n == 3) return 4; vector<int> dp(n + 1, 0); dp[0] = 0;...原创 2021-05-23 03:15:22 · 134 阅读 · 0 评论 -
面试题 17.16.按摩师
//一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。//在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,//替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 int massage(vector<int>& nums) { if (nums.size() == 0) return 0; if (nums.size() == 1) ...原创 2021-05-23 02:46:42 · 214 阅读 · 0 评论 -
leetcode 543 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。class Solution {...原创 2019-12-12 23:37:26 · 134 阅读 · 0 评论 -
leetcode 206 反转链表
class Solution {public: ListNode* reverseList(ListNode* head) { if( head== nullptr ) return head; if( head->next == nullptr) return head ListN...原创 2019-12-12 22:09:47 · 148 阅读 · 0 评论 -
leetcode 1103 分糖果2
排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n+ 1 颗糖果,第二个小朋友 n+ 2 颗,依此类推,直到给最后一个小朋友 2 * n颗糖果。重复上述过程(每次都比上一次多...原创 2019-12-12 17:52:32 · 195 阅读 · 0 评论 -
leetcode 160 相交链表
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if( headA== nullptr || headB== nullptr ) return nullptr; ListNode* pA= headA; ListNode* pB= headB...原创 2019-12-11 00:24:07 · 120 阅读 · 0 评论 -
leetcode 283 移动零
void moveZeroes(vector<int>& nums) { stack<int> ss; int zerocnt=0; for(int i=0; i< nums.size();i++){ if(nums[i]!=0){ ss.push(num...原创 2019-12-10 17:50:12 · 126 阅读 · 0 评论 -
leetcode 118 杨辉三角
vector<vector<int>> generate(int numRows) { vector<vector<int> > r; if(numRows==0) return r; vector<int> c; c.push_back(1); ...原创 2019-12-09 23:51:50 · 129 阅读 · 0 评论 -
leetcode 746. 使用最小花费爬楼梯
数组的每个索引做为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。int minCostClimbingStairs(vector<int>& ...原创 2019-12-09 20:52:44 · 130 阅读 · 0 评论 -
leetcode 518 零钱兑换
class Solution {public: int change(int amount, vector<int>& coins) { int len = coins.size(); vector<vector<int>> dp(len + 1, vector<int>(amount + 1, 0...原创 2019-12-05 22:36:15 · 254 阅读 · 1 评论 -
leetcode 106. 从中序与后序遍历序列构造二叉树
class Solution {public: TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { int len= postorder.size(); if(len==0) return NULL; ...原创 2019-12-05 19:39:50 · 158 阅读 · 0 评论 -
leetcode 70 爬楼梯
class Solution {public: int climbStairs(int n) { if(n==1) return 1; vector<int> dp(n+1); dp[1]=1; dp[2]=2; for (int i = 3; i <=n ; ++...原创 2019-12-05 19:37:26 · 130 阅读 · 0 评论 -
leetcode 105 从前序与中序遍历序列构造二叉树
TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { if (preorder.size() == 0) return NULL; TreeNode *pRoot = new TreeNode(preorder[0]);...原创 2019-12-05 19:27:43 · 167 阅读 · 0 评论 -
leetcode 804 唯一摩尔斯密码词
int uniqueMorseRepresentations(vector<string>& words) { vector<string> dict{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","-...原创 2019-11-26 22:41:20 · 238 阅读 · 1 评论 -
leetcode 11 盛水最多的容器
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。原创 2019-11-23 17:47:55 · 174 阅读 · 1 评论 -
leetcode 344 反转字符串
void reverseString(vector<char>& s) { for(int i=0;i<s.size()/2;i++) { char temp=s[i]; s[i]=s[s.size()-1-i]; s[s.size()-1-i]=temp; ...原创 2019-11-23 17:45:46 · 138 阅读 · 0 评论 -
leetcode 1025 除数博弈
bool divisorGame(int N) { return N%2==0; }原创 2019-11-23 17:43:47 · 218 阅读 · 0 评论 -
leetcode LCP1 猜数字
int game(vector<int>& guess, vector<int>& answer) { int cnt=0; for(int i=0;i< guess.size();i++) { if(guess[i]==answer[i]){ c...原创 2019-11-23 17:42:36 · 199 阅读 · 0 评论 -
leetcode 104 二叉树的最大深度
int maxDepth(TreeNode* root) { if(!root) return 0; int left = maxDepth(root->left); int right = maxDepth(root->right); return (left>right? left:ri...原创 2019-11-23 17:40:22 · 146 阅读 · 0 评论