LeetCode
Dio936
这个作者很懒,什么都没留下…
展开
-
LeetCode 7.反转整数
目录 0. 题目描述 1. 解题分析 2. 官方解答 0. 题目描述 1. 解题分析 (1) 题目要求对整数进行反转,首先就想到了可以利用栈这个数据结构。于是有了一个很自然很暴力的思路: 将int型的数字转换成string字符串,逐一遍历每个字符并将其压入栈中,再一个个pop出来,就得到了一个反序的字符串,再将字符串转换回int型数字。 #includ...原创 2018-09-20 09:19:44 · 124 阅读 · 0 评论 -
LeetCode 9.回文数
目录 0. 题目描述 1. 解题分析 2. 官方解答 0. 题目描述 1. 解题分析 (1)思路还是比较直接简单: 不使用字符串的话,那就提取数位,然后进行判断。 #include<iostream> #include<vector> bool isPalindrome(int x) { if (x < 0) { retu...原创 2018-09-20 22:56:17 · 53 阅读 · 0 评论 -
LeetCode 13.罗马数字转整数
目录 0. 题目描述 1. 解题分析 2. 优秀解答 0. 题目描述 1. 解题分析 (1)思路也很简单:逐一读取字符串,根据转换规则进行转换。为了减少if逻辑判断,用了map来存储罗马数字与对应的整数,增加了一点空间消耗。 #include<string> #include<map> static auto _=[]() //提升io性能 { ...原创 2018-09-21 21:10:25 · 102 阅读 · 0 评论 -
LeetCode 21.合并两个有序链表
目录 0.题目描述 1.解题分析 2.优质范例 0.题目描述 1.解题分析 看完题后第一个思路是:新起一个节点作为合并链表的头节点,然后同时遍历两个有序链表,比较它们当前节点的大小,以较小的节点的值,new一个新的节点并接入合并链表。合并链表指针后移一位,有序链表中有较小当前节点的链表指针后移一位。重复上诉操作直到两个有序链表遍历结束或者其中一个有序链表遍历结束,那么把未...原创 2018-10-13 09:34:31 · 121 阅读 · 0 评论 -
LeetCode 26.删除排序数组中的重复项
目录 0.题目描述 1.解题分析 2.优质范例 0.题目描述 1.解题分析 思路是:因为不能使用额外空间,要在原地修改原数组,那么在遍历数组的时候用一个变量pos记录当前可修改的位置。然后遍历数组nums,当nums[i] == nums[i+1]时,i++。直到前后两个数字不同时,将nums[i]赋给nums[pos],pos++。 实现代码: int remo...原创 2018-10-13 09:49:36 · 105 阅读 · 0 评论 -
LeetCode 14.最长公共前缀
目录 0. 题目描述 1. 解题分析 2. 优质范例 0. 题目描述 1. 解题分析 (1)查找一个数组中的公共前缀,随便选取其中一个字符串,然后顺序遍历它的字符,并遍历判断数组中其他字符串是否包含这个字符即可。 static auto _=[]() { ios::sync_with_stdio(false); cin.tie(0); return...原创 2018-09-25 22:39:30 · 82 阅读 · 0 评论 -
LeetCode 20.有效的括号
0. 题目描述 1.解题分析 括号匹配是一个挺经典的问题,因为之前学习数据结构的时候已经学习到这个巧妙的解法了——栈。思路如下: 实现代码如下: #include<stack> class Solution { public: bool isValid(string s) { stack<char> judge; for...原创 2018-10-09 20:09:26 · 803 阅读 · 0 评论