![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
Spratumn
行动派
展开
-
#504.七进制数
题目描述: 给定一个整数,将其转化为7进制,并以字符串形式输出。 示例 1: 输入: 100 输出: “202” 注意: 输入范围是 [-1e7, 1e7] 。 知识点: N进制就是“逢N进1,借1当N。” 10进制转换为N进制,“除N取余”取倒序 思路和代码: class Solution: def convertToBase7(self, num: int) -> str: ...原创 2019-09-11 10:46:58 · 669 阅读 · 0 评论 -
#230.二叉搜索树中第k个最小的元素
题目描述: 给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 知识点: 二叉树中序遍历 思路和代码: 使用二叉树中序遍历的方法,找到第k小的数直接退出 # Definition for a binary tree node. # class TreeNode: # def __ini...原创 2019-09-12 14:19:50 · 255 阅读 · 0 评论 -
#208.实现一个前缀树
文章目录进制#504.七进制数二分法#69. x的平方根分治#241.为运算表达式设计优先级链表#160.相交链表哈希表#1.两数之和字符串#3.无重复字符的最长子串#242.有效的字母异位词#409.最长回文串栈和队列#232.用栈实现队列双指针#167.两数之和Ⅱ-输入有序数组排序#215.数组中的第k个最大元素#347.前K个高频元素数组和矩阵#462.最少移动次数使数组元素相等Ⅱ#169....原创 2019-08-31 10:16:01 · 134 阅读 · 0 评论 -
#64.最小路径和
题目描述: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 知识点: 动态规划: 多阶段决策最优解模型,每阶段都对应一组状态 状态转移方程构造方式: 递归+备忘录(反向递归) 迭代递推(正向迭代) 思路和代码: 状态转移方式:采用正向迭代 def minPathSum(grid): """ ...原创 2019-09-20 19:42:50 · 113 阅读 · 0 评论 -
#322. 零钱兑换
题目描述: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 说明: 你可以认为每种硬币的数量是无限的。 知识点: 动态规划: 多阶段决策最优解模型,每阶段都对应一组状态 状态转移方程构造方式: 递归+备忘录(反向递归) 迭代递推(正向迭代) 思路和代码: 状态转移方式:采用反向...原创 2019-09-21 16:04:14 · 101 阅读 · 0 评论 -
#92.反转链表Ⅱ
题目描述: 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 知识点: 在扫描链表的过程中记录m与n两个节点位置 思路和代码: class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: d...原创 2019-09-24 09:41:29 · 131 阅读 · 0 评论 -
#203. 移除链表元素
题目描述: 删除链表中等于给定值 val 的所有节点。 知识点: 链表操作检查边界条件: 链表为空 链表只包含一个节点 链表只包含两个节点 处理头节点和尾节点是否有问题 思路和代码: # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x...原创 2019-09-24 13:13:35 · 97 阅读 · 0 评论 -
#102 二叉树的层次遍历
题目描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回其层次遍历结果:[[3],[9,20],[15,7]] 知识点: 思路和代码: # Definition for a binary tree node. # class TreeNode: # def __init__(s...原创 2019-09-12 14:18:34 · 145 阅读 · 0 评论 -
#144.二叉树的前序遍历
题目描述: 给定一个二叉树,返回它的 前序 遍历。 知识点: 递归法与迭代法 思路和代码: # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right...原创 2019-09-12 11:31:07 · 104 阅读 · 0 评论 -
#69. x的平方根
题目描述: 实现int sqrt(int x)函数。 计算并返回x的平方根,其中x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 知识点: 二分法:mid=(left+right)/2 思路和代码: 结果返回的是近...原创 2019-09-11 10:49:42 · 110 阅读 · 0 评论 -
#241.为运算表达式设计优先级
题目描述: 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。 示例1: 输入: “2-1-1” 输出: [0, 2] 解释: ((2-1)-1) = 0 (2-(1-1)) = 2 知识点: 分治,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问...原创 2019-09-11 10:51:41 · 179 阅读 · 0 评论 -
#160.相交链表
题目描述: 编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存 知识点: 思路和代码: 方法一: 暴力法 对链表A中的每一个结点 a_i,遍历整个链表 B 并检查链表 B 中是否存在结点和 a_i相同。 复杂度分析 时...原创 2019-09-11 10:53:53 · 101 阅读 · 0 评论 -
#1.两数之和
题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 知识点: ...原创 2019-09-11 10:54:56 · 101 阅读 · 0 评论 -
#3.无重复字符的最长子串
题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 知识点: 滑动窗口法 列表作为窗口 队列作为窗口 思路和代码: 1列表作为窗口 def lengthOfLongestSubstring(s): if not s: ret...原创 2019-09-11 10:55:46 · 89 阅读 · 0 评论 -
#242.有效的字母异位词
题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? 知识...原创 2019-09-11 10:56:33 · 109 阅读 · 0 评论 -
#409.最长回文串
题目描述: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入:“abccccdd” 输出:7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 知识点: 思路和代码: def longestPalindrome...原创 2019-09-11 10:57:08 · 117 阅读 · 0 评论 -
#167.两数之和Ⅱ-输入有序数组
题目描述: 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -&...原创 2019-09-11 10:59:32 · 157 阅读 · 0 评论 -
#110.平衡二叉树
题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1 知识点: 思路和代码: def tree_depth(root): if not root: return 0 else: return max(tree_depth(root.left),tree...原创 2019-09-11 11:00:15 · 108 阅读 · 0 评论