
Leecode
GuoSmallGuo23
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 合并两个有序链表(非递归)
# Leetcode 合并两个有序链表# 非递归方法# 我使用了较为笨的一种方法来接 先提取所有数到数组--->排序--->有了顺序表转换为链表就方便了# 考虑到链表的特殊性质,我把他们一个个先实例化为一个个仅仅含有val,next都是None的链表,然后从后往前一个一个的链接上就行了# Definition for singly-linked list.# class L...原创 2019-08-11 20:12:46 · 268 阅读 · 0 评论 -
合并两个有序链表[C++版]
合并两个有序链表[C++版]问题描述解决思想我的代码代码理解角度1角度2我的总结问题描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。举个栗子:链表1:1->3->5->7链表2:2->4->8合并之后的链表:1->2->3->4->5->7->8解决思想对于这个题,...原创 2019-09-15 11:41:44 · 435 阅读 · 0 评论 -
斐波那契数列[C++版]
斐波那契数列[C++版]问题描述解决思路及代码问题描述大家都知道斐波那契数列。就是1 1 2 3 5 8 13… … 后一个数为前两个数的和。现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。其中n<=39解决思路及代码这个题很简单,考递归,但是我在牛客网上测试迟迟不通过。于是我换了另外一种非递归的方法,上一下我的代码。#include <...原创 2019-09-14 20:22:51 · 1457 阅读 · 1 评论 -
重建二叉树[C++版]
重建二叉树[C++版]问题描述解决思想思想1:树的性质思想2:递归我的代码总结(附)Python实现代码问题描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解决思想首先我们看一下C++版本的...原创 2019-09-14 17:10:33 · 657 阅读 · 1 评论 -
旋转数组的最小数字[C++版]
旋转数组的最小数字[C++版]问题描述解决思想我的代码特殊情况总结问题描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解决思想最简单的方法就是遍历法,但是...原创 2019-09-14 14:13:53 · 328 阅读 · 0 评论 -
LeetCode 字符串中的第一个唯一字符
# LeetCode 字符串中的第一个唯一字符# HashMap 用字典去模拟class Solution(object): def firstUniqChar(self, s: str) -> int: dic = {} # 记录字符出现次数 for c in s: if c in dic: ...原创 2019-08-11 20:20:10 · 145 阅读 · 0 评论 -
LeetCode Fizz Buzz
# LeetCode Fizz Buzzclass Solution: def fizzBuzz(self, n: int) -> List[str]: i = 1 result = [] while i <= n: if i % 3 == 0 and i % 5 != 0: ...原创 2019-08-11 20:19:26 · 188 阅读 · 0 评论 -
Leetcode 报数
# Leetcode 报数# 有点难 我还是解决了 没用什么高深的算法 迭代的话,注意边界情况的处理吧,就是最后一个pair 计数别忘记还有就是与倒数第二不一样的话,额外考虑+1 class Solution: def countAndSay(self, n: int) -> str: if n == 1: return "1" ...原创 2019-08-11 20:17:58 · 104 阅读 · 0 评论 -
Leetcode 搜索插入位置
# Leetcode 搜索插入位置# 该题我依然使用循环遍历去解决 注意边界问题 还是有点小复杂的 应该有更好的方式 有机会探讨一下class Solution: def searchInsert(self, nums: List[int], target: int) -> int: if nums == []: return -1 ...原创 2019-08-11 20:16:53 · 124 阅读 · 0 评论 -
LeetCode 实现strStr()
# Leetcode 实现strStr()# 找子串的问题 一遍遍历就行了 很简单class Solution: def strStr(self, haystack: str, needle: str) -> int: if haystack == "" and needle == "": return 0 elif hay...原创 2019-08-11 20:16:16 · 218 阅读 · 0 评论 -
LeetCode 移除元素
# Leetcode 移除元素# 这个题挺简单的 依次遍历就行了 def removeElement(self, nums: List[int], val: int) -> int: if len(nums) == 0: nums = [] else: length = len(nums) - 1 ...原创 2019-08-11 20:15:04 · 126 阅读 · 0 评论 -
LeetCode 删除排序数组中的重复项
# Leetcode 删除排序数组中的重复项# 我的思路:如果nums[i] + num[i + 2] = nums[i + 1] + num[i + 2],那么删除nums[i + 1], 长度 -1 反之长度不减,i += 1# 在处理下极端问题就行了 我的脑回路似乎很奇怪?class Solution: def removeDuplicates(self, nums: List...原创 2019-08-11 20:13:56 · 109 阅读 · 0 评论 -
反转链表[C++版]
反转链表[C++版]问题描述解决思路我的代码我的总结问题描述输入一个链表,反转链表后,输出新链表的表头。举个栗子:输入链表:1->2->3->6->9反转链表:9->6->3->2->1输出:新链表的表头解决思路考虑到链表的性质,由若干节点链接起来组成的链表。我们的链表p1可以写成:1->2->3->6-&g...原创 2019-09-15 15:14:50 · 329 阅读 · 0 评论