![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
字符串
java力扣
是瓜哥啊
这个作者很懒,什么都没留下…
展开
-
第一个只出现一次的字符
第一个只出现一次的字符在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = “abaccdeff”返回 “b”s = “”返回 " "限制:0 <= s 的长度 <= 50000解法一class Solution { public char firstUniqChar(String s) { Map<Character,Boolean> map=new HashMap<转载 2021-03-26 15:30:01 · 61 阅读 · 0 评论 -
整数反转
整数反转给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-2^31 <= x <= 2^31 -原创 2021-02-26 00:03:59 · 60 阅读 · 0 评论 -
划分字母空间
划分字母空间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释: 划分结果为 “ababcbaca”,“defegde”, “hijhklij”。 每个字母最多出现在一个片段中。 像 “ababcbacadefegde”,“hijhklij” 的划分是错误的,因为划分的片段数较少。...原创 2021-02-25 19:56:50 · 218 阅读 · 0 评论 -
最长公共前缀
最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。解法:横向class Solution { public String longestCommonPrefix(String[] strs) { i原创 2021-02-25 18:01:46 · 40 阅读 · 0 评论 -
Z形变换
Z形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为"PAYPALISHIRING" 行数为 3 时,排列如下:P – A – H – NA P L S I I GY – I — R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例原创 2021-02-25 17:01:35 · 140 阅读 · 0 评论 -
实现 Trie (前缀树)
实现 Trie (前缀树)题目:实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 falsetrie.startsWith(“app”); // 返回 truetrie.insert(“app”);trie原创 2021-02-15 00:20:28 · 137 阅读 · 1 评论 -
单词划分2
单词划分2给定一个非空字符串 s 和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明: 分隔时可以重复使用字典中的单词;你可以假设字典中没有重复的单词。示例 1:输入: s = “catsanddog” wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出: [ “cats and dog”, “cat sand dog” ]示例 2:输原创 2021-02-13 20:26:17 · 138 阅读 · 0 评论 -
单词拆分
单词拆分给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true 解释: 返回 true因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapple”, word原创 2021-02-09 00:57:35 · 103 阅读 · 0 评论 -
分割回文串
分割回文串题目给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出: [ [“aa”,“b”], [“a”,“a”,“b”] ]搜索问题主要使用回溯法。回溯法思考的步骤:1、画递归树;2、根据自己画的递归树编码。对于本题,我们尝试这样思考:要得到所有都是回文串的分割方案,我们就需要对字符串进行分割,至于需要分割几下,我们不知道。那么首先第一次分割的地方可以是第一个字符串之后,也可以是第二第三。。。个字原创 2021-02-02 00:20:54 · 101 阅读 · 0 评论 -
验证回文串
验证回文串题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1输入: “A man, a plan, a canal: Panama”输出: true示例2输入: “race a car”输出: false分析所需要用到的方法:判断是否是数字或英文符号Character.isLetterOrDigit()字母的小写化 Characte.toLowerCase()解法1class原创 2021-02-01 21:07:54 · 80 阅读 · 0 评论