![](https://img-blog.csdnimg.cn/7569b550b1024ea8a5a5a18d129d1324.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode简单题
力扣刷题手记(简单题)
Grausam
这个作者很懒,什么都没留下…
展开
-
Excel表列名称(力扣简单题)
Excel表列名称给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入:columnNumber = 1输出:“A”示例 2:输入:columnNumber = 28输出:“AB”示例 3:输入:columnNumber = 701输出:“ZY”示例 4:输入:columnNumber = 21原创 2021-11-09 14:46:25 · 4320 阅读 · 0 评论 -
Excel 表列序号(力扣简单题)
Excel 表列序号给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: columnTitle = “A”输出: 1示例 2:输入: columnTitle = “AB”输出: 28示例 3:输入: columnTitle = “ZY”输出: 701示例 4:输原创 2021-11-09 14:28:07 · 4072 阅读 · 0 评论 -
链表中倒数第k个节点(剑指 Offer)
链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.源码实现/** * Definition for singly-linked list. * struct原创 2021-11-09 14:18:21 · 285 阅读 · 0 评论 -
从尾到头打印链表(剑指 Offer)
从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000思路我们可以利用栈实现源码实现/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val原创 2021-11-09 14:08:20 · 382 阅读 · 0 评论 -
删除链表中的节点(力扣简单题)(链表)
删除链表中的节点请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:输入:head = [4,5,1,9], node = 1输出:[4,5,9]解原创 2021-11-09 13:34:04 · 91 阅读 · 0 评论 -
回文链表(力扣简单题)(链表)
回文链表给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。示例 1:输入:head = [1,2,2,1]输出:true示例 2:输入:head = [1,2]输出:false提示:链表中节点数目在范围[1, 105] 内0 <= Node.val <= 9源码实现/** * Definition for singly-linked list. * struct ListNode { * i原创 2021-11-09 13:08:21 · 533 阅读 · 0 评论 -
反转链表(力扣简单题)(链表)
反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000源码实现/** * Definition for singly-linked list. * struct Lis原创 2021-11-09 12:45:52 · 1229 阅读 · 0 评论 -
移除链表元素(力扣简单题)(链表)
移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]提示:列表中的节点数目在范围 [0, 104] 内1 <= Node.val <原创 2021-11-09 11:26:13 · 243 阅读 · 0 评论 -
相交链表(力扣简单题)(链表)
相交链表给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at ‘8’解释:原创 2021-11-09 11:08:47 · 82 阅读 · 0 评论 -
环形链表(力扣简单题)(链表)
环形链表给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个原创 2021-11-09 10:45:27 · 103 阅读 · 0 评论 -
删除排序链表中的重复元素(力扣简单题)(链表)
删除排序链表中的重复元素存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围 [0, 300] 内-100 <= Node.val <= 100题目数据保证链表已经按升序排列源码实现/** * Definition for原创 2021-11-08 22:14:07 · 88 阅读 · 0 评论 -
合并两个有序链表(力扣简单题)(链表)
合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列源码实现原创 2021-11-08 21:30:46 · 108 阅读 · 0 评论 -
20.有效的括号(LeetCode)
原题链接20.有效的括号原创 2021-10-08 12:53:37 · 77 阅读 · 0 评论 -
14.最长公共前缀(LeetCode)
原题链接14.最长公共前缀菜狗本菜原思路class Solution {public: string longestCommonPrefix(vector<string>& strs) {int len=strs.size();//求出动态数组的元素个数,不能用sizeof(strs),否则求的实际上是指针大小,是一个常量int max=strs[0].length();//用length函数求出每个字符串数组所含元素个数for (int i=0;i<len;原创 2021-10-06 16:50:34 · 72 阅读 · 0 评论 -
13.罗马数字转整数(LeetCode)
原题链接13.罗马数字转整数初思路class Solution {public: int romanToInt(string s) {int len=s.size();int result=0;for (int i=0;i<len;i++){ if (s[i]=='I'&&s[i+1]=='V'){ result=result+4; i++; } else if (s[i]=='I'&&s[i原创 2021-10-06 15:31:13 · 74 阅读 · 0 评论 -
9.回文数(LeetCode)
原题链接9.回文数菜狗本菜的初思路class Solution {public: bool isPalindrome(int x) { if (x<0) return false; else if (x==0) return true; else{ vector <int>a;//这里多定义了一个数组,优化之后会把它去掉节省空间。 while (x){ a.pus原创 2021-10-06 14:48:26 · 68 阅读 · 0 评论 -
7.整数反转(LeetCode)
原题链接7.整数反转菜狗本菜的解答初思路class Solution {public: int reverse(int x) {int n;vector <int> a;while (x!=0){ n=x%10; a.push_back(n); x/=10;}long b=0;int len=a.size();for (int i=0;i<len;i++){ b=b*10+a[i];}return b; }};原创 2021-10-05 23:10:28 · 75 阅读 · 0 评论 -
1.两数之和(LeetCode)
原题链接1.两数之和实现方法1:for嵌套循环暴力枚举因为有两个for循环嵌套,所以时间复杂度O(n^2)因为是常数个临时变量,所以空间复杂度为O(1)class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int n = nums.size();//这里事先计算了nums的大小防止重复计算 for (int i = 0; i &原创 2021-10-05 22:29:42 · 102 阅读 · 0 评论