相信你看到我的文章一定有和我一样的疑惑
小小的脑袋,大大的疑惑
原因是在刷算法的时候,记住了length
,突然又出现了个length()
实在是没抓住它的规律
后面看了源代码
length()
为sting类的一个方法
public final class String{
private final char value[];
public int length() {
return value.length;
}
}
- length为类的属性,常常用在数组的属性
int []s=new int[];
int i=s.length;
为了区分其代码
可看看leetcode中常见length
和length()
的算法题
string类的字符串上,用length()
class Solution {
public char findTheDifference(String s, String t) {
int[] cnt = new int[26];
for (int i = 0; i < s.length(); ++i) {
char ch = s.charAt(i);
cnt[ch - 'a']++;
}
for (int i = 0; i < t.length(); ++i) {
char ch = t.charAt(i);
cnt[ch - 'a']--;
if (cnt[ch - 'a'] < 0) {
return ch;
}
}
return ' ';
}
}
如果是类的属性,比如数组
class Solution {
public int[] twoSum(int[] numbers, int target) {
for(int i=0;i<numbers.length;i++){
for(int j=i+1;j<numbers.length;j++){
if(numbers[i]+numbers[j]==target) return new int[]{i+1,j+1};
}
}
return new int[]{-1,-1};
}
}