day11(11.11)——leetcode面试经典150
这几天学完了python,马上就要考试了,然后一下子就忘记背单词和写题了,狠狠的补回来!!!
125. 验证回文串
125. 验证回文串
题目:


题解:
class Solution {public boolean isPalindrome(String s) {StringBuilder str = new StringBuilder();for(int i=0;i<s.length();i++) {char x = Character.toLowerCase(s.charAt(i));if(Character.isLetterOrDigit(x)) {str.append(x);}}if(str.toString().equals(str.reverse().toString())){return true;}else {return false;}}
}
392. 判断子序列
392. 判断子序列
题目:


题解:
class Solution {public boolean isSubsequence(String s, String t) {if(s.length()>t.length()) {return false;}else if(s.length()==t.length() && s.length()!=0 && s.equals(t) ){return false;}else {int i=0, j=0;while(j<t.length() && i<s.length()) {//说明两个字符匹配if(s.charAt(i)==t.charAt(j)) {i++;j++;}//不匹配else {//说明父子串已经走完了,但是子串还没有走完if(j==t.length()-1) {return false;}j++;}} // 如果子串没有到达最后一个字符+1的位置,说明子序列没走完,匹配不上if(i!=s.length()) {return false;}return true;}}
}
167. 两数之和 II - 输入有序数组
167. 两数之和|| - 输入有序数组
题目:


题解:
class Solution {public int[] twoSum(int[] numbers, int target) {int i=0,j=numbers.length-1;int[] news=new int[2];while(i<j) {if(numbers[i]+numbers[j]==target) {news[0]=i+1;news[1]=j+1;break;}else {if(numbers[i]+numbers[j]<target) {i++;}else {j--;}}}return news;}
}
11. 盛最多水的容器
11. 盛最多水的容器
题目:


题解:
class Solution {public int maxArea(int[] height) {int i=0, j=height.length-1;int max = 0;while(i<j) {max=Math.max(Math.min(height[i],height[j])*(j-i),max);//移动较小的墙的点//这样相当于增加了最大水量,因为以两边最小的墙高为高if(height[i]<height[j]) {i++;}else {j--;}}return max;}
}
