![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
Alfred king
这个作者很懒,什么都没留下…
展开
-
leetcode66--加一(Java完成)
题目要求测试案例输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。输入:digits = [0]输出:[1]思路分析此题我是由末尾数字去出发,如果末位数字小于9,直接末位数字加1然后返回数组即可。然后如果遇到末位数字是9则需要进位,并且返回的数组长度要增加。我和一般的题解办法不同,对于等于9的情况我则是将数组转为StringBuilder类原创 2021-09-30 16:33:42 · 96 阅读 · 0 评论 -
合并两个有序链表
递归法实现如果 l1 或者 l2 一开始就是空链表 ,不需要合并,所以我们只需要返回非空链表。否则,我们要判断 l1 和 l2 哪一个链表的头节点的值更小,然后递归地决定下一个添加到结果里的节点。如果两个链表有一个为空,递归结束.也就是说,两个链表头部值较小的一个节点与剩下元素的 merge 操作结果合并/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next.原创 2021-07-28 09:39:03 · 63 阅读 · 0 评论 -
在排序数组中查找元素的第一个和最后一个位置(手撕lc)
题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。范例输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]输入:nums = [], target = 0输出:[-1,-1]方法一 暴力遍历法在for循环里面通过每一个元素原创 2021-07-28 08:59:13 · 145 阅读 · 0 评论 -
最长回文子串(手撕lc)
题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。输入:s = "cbbd"输出:"bb"输入:s = "a"输出:"a"题目分析代码展示经历的第一个错误代码#include<algorithm>#include<cstdio>#include<cmath>#include<iostream>class Solution {原创 2021-07-23 08:16:11 · 169 阅读 · 1 评论 -
罗马数字转整数(手撕lc)
题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通原创 2021-07-21 21:09:04 · 1248 阅读 · 17 评论 -
两数相加(C++完成)
题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入范例输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.输入:l1 = [0], l2 = [0]输出:[0]输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9原创 2021-07-13 13:36:27 · 1050 阅读 · 0 评论 -
删除有序数组中重复的元素(C++完成)
题目输入输出范例输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。题解我们只原创 2021-07-13 09:51:48 · 1039 阅读 · 0 评论 -
整数反转(C++完成)
题目范例输入:x = 123输出:321输入:x = -123输出:-321解析初步想法以为这是一个简单的题目,只需要放到while循环里进行/10和%10操作,然后根据表达式相加可以得到结果。可是这会遇到一个问题,即数字再反转过程中会出现溢出的情况需要加以判断。class Solution {public: int reverse(int x) { int rev = 0; while (x != 0) {原创 2021-07-13 09:19:18 · 1690 阅读 · 0 评论 -
leetcode 两数之和 C++完成
示例1输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例2输入:nums = [3,2,4], target = 6输出:[1,2]暴力遍历即可class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { .原创 2021-07-09 21:43:55 · 93 阅读 · 0 评论