Author: 十七

leetcode70. 爬楼梯

分析第i层楼梯可从第i-1或第i-2层上来,用f[i]表示到达第i层楼梯的方法,那么f[i]=f[i-1]+f[i-2].class Solution {public: int climbStairs(int n) { int f[n+1]; if(n==1)ret

十七 Published on 2022-02-25

leetcode67. 二进制求和

先将a,b逆置,然后再运算,最后再逆置即可。class Solution {public: string addBinary(string a, string b) { string ans; reverse(a.begin(),a.end()); r

十七 Published on 2022-02-24

leetcode66. 加一

分析从最后一位开始+1后%10,若得到的值不为0,则说明不需要进位了,直接返回。若到第一位还是需要进位,则首位需要再向前+1。(9999)->(10000)class Solution {public: vector<int> plusOne(vector<int&gt

十七 Published on 2022-02-24

leetcode64. 最小路径和

分析f[i][j]表示从(0,0)坐标到(i,j)的最小和,每次转移都从f[i-1][j]或者f[i][j-1]转移过来,两者取最小值即可。class Solution {public: int minPathSum(vector<vector<int>>& g

十七 Published on 2022-02-24

leetcode63. 不同路径 II

分析将有障碍的地方路径设置为0即可class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m=obstacleGri

十七 Published on 2022-02-23

leetcode62. 不同路径

分析用f[i][j]表示从(1,1)到(i,j)的路径数,先初始化第一行和第一列的路径数,都只有1种走法。class Solution {public: int uniquePaths(int m, int n) { int f[110][110];//f[i][j]表示从(1,

十七 Published on 2022-02-23

leetcode61. 旋转链表

分析将链表首尾相连,得到循环链表,只需要尾指针向后移动n-k%n个就能得到移动后的首节点,此时下一个节点就是头节点,并将尾节点置空。/** * Definition for singly-linked list. * struct ListNode { * int val; * Li

十七 Published on 2022-02-23

leetcode60. 排列序列

分析设置当前是第几个,如果到达第k个则结束循环。class Solution {public: int path[10]; bool st[10]; string s=""; int cur=0; void dfs(int n,int u,in

十七 Published on 2022-02-23

leetcdoe58. 最后一个单词的长度

class Solution {public: int lengthOfLastWord(string s) { int ans=0,cur=s.length()-1; while(s[cur]==' '){ c

十七 Published on 2022-02-23
Previous Next