字符串
WukongGo
这个作者很懒,什么都没留下…
展开
-
长按键入java实现
长按键入https://leetcode-cn.com/problems/long-pressed-name/你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 '...原创 2020-10-21 14:22:25 · 412 阅读 · 0 评论 -
剑指Offer20:表示数值的字符串java实现
剑指 Offer 20. 表示数值的字符串https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。思路:1、出现‘+’和‘-’:只能是出现在第一位或者‘e原创 2020-08-30 16:37:35 · 129 阅读 · 0 评论 -
剑指Offer12:矩阵中的路径ava实现
剑指 Offer 12. 矩阵中的路径https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[["a","b","c","e"原创 2020-08-27 16:07:46 · 127 阅读 · 0 评论 -
重复的子字符串java实现
重复的子字符串https://leetcode-cn.com/problems/repeated-substring-pattern/给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释:原创 2020-08-24 09:16:52 · 375 阅读 · 0 评论 -
字符串相乘java实现
字符串相乘https://leetcode-cn.com/problems/multiply-strings/给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1和num2的长度小于110。num1 和num2 ...原创 2020-08-14 10:34:53 · 1004 阅读 · 0 评论 -
计数二进制子串java实现
计数二进制子串https://leetcode-cn.com/problems/count-binary-substrings/给定一个字符串s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串.原创 2020-08-10 09:58:10 · 154 阅读 · 0 评论 -
字符串相加java实现
字符串相加https://leetcode-cn.com/problems/add-strings/给定两个字符串形式的非负整数num1 和num2,计算它们的和。注意:num1 和num2的长度都小于 5100.num1 和num2 都只包含数字0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库,也不能直接将输入的字符串转换为整数形式。class Solution { public String addStrings...原创 2020-08-03 10:42:45 · 1223 阅读 · 0 评论 -
查找第k个排列java实现
题目描述https://leetcode-cn.com/problems/permutation-sequence给出集合[1,2,3,…,n],其所有元素共有n! 种排列。按大小顺序列出所有排列情况,并一一标记,当n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定n 和k,返回第k个排列。说明:给定 ...原创 2020-05-03 11:51:23 · 528 阅读 · 0 评论 -
复原IP地址java实现
题目描述https://leetcode-cn.com/problems/restore-ip-addresses给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]思路:DFS加回溯法,找到符合条件的String分配就加入结果中cla...原创 2020-04-28 18:28:41 · 973 阅读 · 0 评论 -
验证回文串java实现
题目描述https://leetcode-cn.com/problems/valid-palindrome给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car...原创 2020-04-27 18:06:59 · 797 阅读 · 1 评论 -
单词搜索:给定一个二维网格和一个单词,找出该单词是否存在于网格中java实现
题目描述https://leetcode-cn.com/problems/word-search给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S'...原创 2020-04-22 22:31:32 · 7096 阅读 · 1 评论 -
验证给定的字符串是否可以解释为十进制数字java实现
题目描述https://leetcode-cn.com/problems/valid-number验证给定的字符串是否可以解释为十进制数字。例如:"0"=>true" 0.1 "=>true"abc"=>false"1 a"=>false"2e10"=>true" -90e3"=>true" 1e"=&...原创 2020-04-20 22:45:49 · 778 阅读 · 0 评论 -
文本左右对齐java实现
题目描述https://leetcode-cn.com/problems/text-justification给定一个单词数组和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格' '填充,使得每行恰好有 maxWidth个字符。...原创 2020-04-20 17:30:19 · 3151 阅读 · 0 评论 -
找出给出的字符串S中最长的回文子串java实现
题目描述https://leetcode-cn.com/problems/longest-palindromic-substring给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路:分别从最...原创 2020-04-19 22:20:07 · 1275 阅读 · 0 评论 -
字符串转换整数(atoi) java实现
题目描述https://leetcode-cn.com/problems/string-to-integer-atoi请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。...原创 2020-04-19 21:30:54 · 453 阅读 · 1 评论 -
串联所有单词的子串java实现
题目描述https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序...原创 2020-04-19 11:21:09 · 309 阅读 · 0 评论 -
multiply-strings用字符串返回两个以字符串形式表示的非负整数的乘积java实现
题目描述https://leetcode-cn.com/problems/multiply-strings给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "45...原创 2020-04-18 18:16:42 · 647 阅读 · 0 评论 -
simplify-path简化Unix 风格给出的一个文件绝对路径java实现
题目描述链接:https://leetcode-cn.com/problems/simplify-path以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / ...原创 2020-04-18 16:34:40 · 526 阅读 · 0 评论 -
回溯法(java实现)总结
回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。以分割回文串https://leetcode-cn.com/problems/palindrome-partitioning为例:给定一个字符串 s,将 ...原创 2020-04-18 12:16:51 · 2767 阅读 · 0 评论 -
无重复字符的最长子串(longest-substring-without-repeating-characters):给定一个字符串找出其中不含有重复字符的 最长子串的长度java实现
题目描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长...原创 2020-04-12 11:22:11 · 257 阅读 · 0 评论 -
Z字形变换(zigzag-conversion):将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。java实现
题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数...原创 2020-04-11 22:44:15 · 801 阅读 · 0 评论 -
正则表达式匹配(regular-expression-matching)java实现
题目描述给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = ...原创 2020-04-11 16:58:04 · 335 阅读 · 0 评论 -
wildcard-matching通配符匹配java实现
题目描述给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例1:输入:s = "aa"p ...原创 2020-04-11 12:02:42 · 708 阅读 · 0 评论 -
anagrams字母异位词分组java实现
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。思路:依次遍历原数组中的字符...原创 2020-04-10 21:57:49 · 145 阅读 · 0 评论 -
length-of-last-word给出一个只包含大小写字母和空格的字符串s,返回字符串中最后一个单词的长度java实现
题目描述给定一个仅包含大小写字母和空格' '的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: "Hello World"输出: 5class Solution { public i...原创 2020-04-10 17:19:33 · 874 阅读 · 0 评论 -
笔试题-字符串模式匹配模式串中‘?’可以匹配目标串中的任何字符,模式串中的 ’*’可以匹配目标串中的任何长度的串java实现
题目描述给出两个字符串,分别是模式串P和目标串T,判断模式串和目标串是否匹配,匹配输出 1,不匹配输出 0。模式串中‘?’可以匹配目标串中的任何字符,模式串中的 ’*’可以匹配目标串中的任何长度的串,模式串的其它字符必须和目标串的字符匹配。例如P=a?b,T=acb,则P 和 T 匹配。输入描述:输入第一行包含一个字符串p,(1 ≤ |p| ≤ 20).输入第二行...原创 2020-03-28 17:14:25 · 1091 阅读 · 0 评论 -
scramble-string判断s2是否是s1的乱序字符串java实现
题目描述给定一个字符串s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。下图是字符串s1="great"的一种可能的表示形式。 great / \ gr eat / \ / \g r e at / \ a t在扰乱这个字符串的过程中,我们可以挑选任何一个...原创 2020-03-19 11:14:32 · 374 阅读 · 0 评论 -
Java字符串为 null 和 .length()==0的区别
null就是空,不占用内存空间,没有任何属性,也不能读取属性,即没有.length()等;而 .length() = 0,此刻是一个字符串,已经为其分配了一定的内存空间。若定义任何一个对象不使用new关键字Object O,O这时候就是null,此时使用O.任何属性方法都是不可接受的报错,只有 = new Object()之后才有意义。...原创 2020-03-18 17:49:51 · 4915 阅读 · 0 评论 -
java获取数组长度length、字符串长度length()、集合大小size()
数组长度:arr.length;字符串长度:s.length();集合大小:c.size();数组是一个容器,当它被创建后,不仅元素的类型是确定的,元素的个数也是确定的。换句话说,数组的长度是确定的,不可能再增加或者减少。因此,数组可以使用一个字段(length)来表示长度。数组没有单独定义成一个类,而字符串 String 是一个类,length() 方法返回的正是字符数组 val...原创 2020-03-15 11:09:04 · 9325 阅读 · 0 评论 -
给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列java实现
题目描述给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。思路:逐个遍历字符串,遇到'(','{','['就压入栈,遇到')','}',']'则弹出栈顶字符,判断是否合法,最后检查栈是否为空,为空则是合法括号序列。im...原创 2020-03-14 18:27:59 · 6318 阅读 · 0 评论 -
给出一个仅包含字符'('和')'的字符串,计算最长的格式正确的括号子串的长度java实现
题目描述给出一个仅包含字符'('和')'的字符串,计算最长的格式正确的括号子串的长度。对于字符串"(()"来说,最长的格式正确的子串是"()",长度为2.一些实例:对于字符串")()())",来说,最长的格式正确的子串是"()()",长度为4对于字符串"()(())"来说,最长的格式正确的子串是"()(())", 长度为6对于字符串"())()"来说,最长的格式正确的子串是...原创 2020-03-13 21:27:00 · 2128 阅读 · 1 评论 -
integer-to-roman整数和罗马数字互转java实现
题目描述请将给出的整数转化为罗马数字保证输入数字的范围在1 到 3999之间。罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M ...原创 2020-04-09 16:18:54 · 254 阅读 · 0 评论 -
count-and-say求外观数列的第n项java实现
题目描述「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。21 被读作"one 2", "one 1"("一...原创 2020-04-10 11:49:53 · 178 阅读 · 0 评论 -
add-binary给出两个用字符串表示的二进制数,返回他们的和java实现
题目描述给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.l...原创 2020-04-10 16:43:05 · 658 阅读 · 0 评论