leetcode字符串
字符串
无名小飛猿
这个作者很懒,什么都没留下…
展开
-
回文系列之回文子串和最长回文子串
5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”穷举每一个点为中心点,从中心点向两边扩展寻找回文串如果回文串是奇数由最中心的一个节点向两边扩展如果回文串是偶数,由最中心的两个节点向两边扩展迭代比较找最长回文串class原创 2021-04-26 21:00:22 · 170 阅读 · 0 评论 -
3. 无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列原创 2021-04-25 22:46:36 · 83 阅读 · 0 评论 -
二叉树和字符串互转系列
606. 根据二叉树创建字符串你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4]1/ 2 3/4输出: “1(2(4))(3)”解释: 原本将是“1(2(4)())(3())”,在你省略所有不必要的空括号对之后,它将是“1(2(4))(3)”。示例 2:输入: 二叉树: [1,2,3,n原创 2021-04-25 22:13:17 · 647 阅读 · 0 评论 -
383. 赎金信
题目给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)示例 1:输入:ransomNote = “a”, magazine = “b”输出:false示例 2:输入:ransomNote原创 2021-04-25 21:18:12 · 52 阅读 · 0 评论 -
反转字符串系列
344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,原创 2021-04-23 23:00:26 · 59 阅读 · 0 评论 -
验证回文串
125. 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false题干:只考虑字母和数字,忽略字母的大小写空字符串定义为有效的回文串。class Solution { public boolean isPalindrome(Strin原创 2021-04-23 22:03:54 · 64 阅读 · 0 评论 -
22. 括号生成
题目数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]思路-dfs左右括号使用个数均达到n就结束剪枝:左括号使用个数小于右括号左括号和右括号的个数小于n时才递归class Solution { public List<String> generat原创 2021-04-23 21:40:34 · 47 阅读 · 0 评论 -
20. 有效的括号
题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false示例 4:输入:s = “([)]”输出:false示例 5:输入:s = “{[]}”输出:true思路初始化一个栈,一个map原创 2021-04-22 22:55:17 · 48 阅读 · 0 评论 -
14. 最长公共前缀
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null||st原创 2021-04-22 22:23:37 · 43 阅读 · 0 评论