随笔分类 -  leetcode记录

摘要:分类:树-树的前序遍历 题目描述: 给定一个 N 叉树,返回其节点值的 前序遍历 。 N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 进阶: 递归法很简单,你可以使用迭代法完成此题吗? 解题思路:用栈来存储,栈的性质是先入后出,所以子树按照逆序压入栈中。 阅读全文
posted @ 2021-07-18 19:53 LLLLgR 阅读(42) 评论(0) 推荐(0)
摘要:分类:字符串-子序列 题目描述: 给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。 class Solution: d 阅读全文
posted @ 2021-07-11 21:49 LLLLgR 阅读(64) 评论(0) 推荐(0)
摘要:分类:二叉树-二叉树的遍历 题目描述:给定一个二叉树,返回它的 后序 遍历。 解题思路: 递归: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=N 阅读全文
posted @ 2021-07-06 20:32 LLLLgR 阅读(36) 评论(0) 推荐(0)
摘要:分类:二叉树-二叉树的遍历 题目描述: 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 解题思路: 递归: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=No 阅读全文
posted @ 2021-07-06 19:06 LLLLgR 阅读(54) 评论(0) 推荐(0)
摘要:分类:二叉树-二叉树的遍历 题目描述: 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 解题思路: 递归: 定义 preorder(root) 表示当前遍历到 root 节点的答案。按照定义,我们只要首先将 root 节点的值加入答案,然后递归调用 preorder(root.left 阅读全文
posted @ 2021-07-06 18:35 LLLLgR 阅读(53) 评论(0) 推荐(0)
摘要:分类:字符串-子序列 题目描述: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 解题思路1:双指针 我们初始化两个指针 阅读全文
posted @ 2021-07-05 21:24 LLLLgR 阅读(58) 评论(0) 推荐(0)
摘要:分类:字符串-字符和数字的转换 题目描述: 给定一个 24 小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。 解题思路:全部转化为分钟,最小的时间加一天算到第二天,进行跟第二大的和最大的 两个判断 并进行比较 class Solution: def 阅读全文
posted @ 2021-07-02 20:48 LLLLgR 阅读(115) 评论(0) 推荐(0)
摘要:分类:字符串-数字与字符串间转换 题目描述: 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。 (注:分数越高的选手,排名越靠 阅读全文
posted @ 2021-07-02 20:12 LLLLgR 阅读(49) 评论(0) 推荐(0)
摘要:分类:字符串-字符与数字串间转换 题目描述: 写一个程序,输出从 1 到 n 数字的字符串表示。 1. 如果 n 是3的倍数,输出“Fizz”; 2. 如果 n 是5的倍数,输出“Buzz”; 3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 解题思路:直接遍历判断,取余数 class 阅读全文
posted @ 2021-07-01 21:42 LLLLgR 阅读(38) 评论(0) 推荐(0)
摘要:分类:字符串-字符与数字串间转换 题目描述: 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 你写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个提示,告诉他的猜测数字中有多少位属于数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位 阅读全文
posted @ 2021-07-01 21:24 LLLLgR 阅读(65) 评论(0) 推荐(0)
摘要:分类:字符串-字符的统计 题目描述: 给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎金信字迹,要从 阅读全文
posted @ 2021-06-25 14:53 LLLLgR 阅读(34) 评论(0) 推荐(0)
摘要:分类:字符串-字符的统计 题目描述: 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 解题思路: 分别统计两个字符串中各个字母的个数,然后找区别 对字母计数,找出计数不同的那个字母就是答案。代码实现的 阅读全文
posted @ 2021-06-25 14:41 LLLLgR 阅读(35) 评论(0) 推荐(0)
摘要:分类:字符串-字符的统计 题目描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 解题思路: 使用哈希表存储频数 我们可以对字符串进行两次遍历。 在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一 阅读全文
posted @ 2021-06-25 14:13 LLLLgR 阅读(43) 评论(0) 推荐(0)
摘要:分类:字符串-字符串的反转 题目描述: 给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 class So 阅读全文
posted @ 2021-06-23 17:49 LLLLgR 阅读(26) 评论(0) 推荐(0)
摘要:分类:字符串-字符串的反转 题目描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 阅读全文
posted @ 2021-06-23 17:34 LLLLgR 阅读(31) 评论(0) 推荐(0)
摘要:分类:字符串-单词 题目描述: 给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 解题思路: 用split对字符串进行单词划分,然后直接返回最后一个单词的长度。 阅读全文
posted @ 2021-06-22 09:34 LLLLgR 阅读(25) 评论(0) 推荐(0)
摘要:分类:字符串 - 单词 题目描述: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 解题思路1:直接用split分割,然后统计个数 class Solution: def countSegments(self, s: str) - 阅读全文
posted @ 2021-06-22 09:27 LLLLgR 阅读(75) 评论(0) 推荐(0)
摘要:分类:字符串- 公共前缀 题目描述: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 解题思路1: Python 特性,取每一个单词的同一位置的字母,看是否相同。 class Solution: def longestCommonPrefix(self, s 阅读全文
posted @ 2021-06-16 21:54 LLLLgR 阅读(54) 评论(0) 推荐(0)
摘要:分类:字符串-回文串的定义 题目描述: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 回文串的定义:回文串就是指正反读一样的字符串。 解题思路: 1.把所有符合条件的字符写入一个列表,然后判断其逆序是否相等。 cl 阅读全文
posted @ 2021-06-16 21:36 LLLLgR 阅读(41) 评论(0) 推荐(0)
摘要:分类:字符串-字符 题目描述: 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。否则,我们定义 阅读全文
posted @ 2021-06-11 21:51 LLLLgR 阅读(39) 评论(0) 推荐(0)