logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

leetcode-java-5. Longest Palindromic Substring

思路一:两层循环字符串,得到子字符串,随后验证字符串是否为回文需要一层循环,时间复杂度是O(n^3)思路二:1.遍历字符串选定中心点2.根据中心点左右扫描,直到不是回文停止,返回长度3.更新回文长度,最后返回最长字串时间复杂度是O(n^2)public class Solution {public String longestPalindrome(String s

#leetcode#java
leetcode-java-111. Minimum Depth of Binary Tree

/*最小深度就是根节点到最近叶子节点的路径长度和找二叉树的最大深度类似,但是区别如下:递归终止条件:1.根节点为null时,返回02.根节点左右都null时,返回13.大返回终止条件:返回较小值+1但是需要注意的是:这样就无法保证root是否是叶子节点了,*/public class Solution {public int minDepth(TreeNode

#leetcode#java
leetcode-java-110. Balanced Binary Tree

/*平衡二叉树:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过11.递归判断二叉树是否是平衡二叉树2.递归找二叉树高度,求高度也是用递归递归停止条件:递归到叶子节点时终止,即root.left==null && root.right == null时,返回1;root==null时,返回0。*/public class Solution {pub

#leetcode#java
leetcode-java-22. Generate Parentheses

本题明显用递归:递归就是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解本题就是用递归,也就是判断每个字符应该是(还是)left>0时—-字符串中添加字符(right>0且leftpublic class Solution {public List<String> generateParenthesis(int n) {ArrayLis

#leetcode#java
js--引用类型RegExp--验证中文正则表达式

中文是unicode编码,首先在正则表达式中使用 Unicode,必须使用\u开头接着是字符编码的四位16进制表现形式查看unicode编码中文的区间是:4e00-9fa5[\u4e00-\u9fa5]则要求输入必须为非空的中英文字符的正则表达式var pattern1 = /([a-zA-Z]|[\u4e00-\u9fa5]){1,}/g;

#正则表达式
atom-常用快捷键(windows)

我就写atom默认的快捷键方式,大家可以根据自己习惯进行调整啦~1.命令行下用atom打开文件atom +文件名2.打开关闭文件打开:ctrl和p关闭:ctrl和w3.字体放大缩小ctrl 和 +ctrl 和 -4.代码上移,下移ctrl和方向键(上下)使用场景:我常在代码放错位置使用,不用剪切赋值了好开心~5.多光标编辑ctrl和鼠标左键使用场景:需要在多个地方添加同个变量等6.查

leetcode-java-16. 3Sum Closest

思路:先升序排序,然后用第一重for循环确定第一个数字。然后在第二重循环里,第二、第三个数字分别从两端往中间扫。如果三个数的total等于target,返回target。如果三个数的total大于0,所以第三个数往左移。如果三个数的total小于0,说明需要减小,所以第二个数往右移,这时更新closeTarget时间复杂度:O(n2)public class Soluti

#leetcode#java
到底了