今天的每日一题好难啊
打开题解,复制粘贴提交一气呵成
844
比较退格字符串
**
收获:
一.String.toCharArray函数,把字符串变成字符数组。
二.
重新认识了一下equal和==
1.==对于基本数据类型是比较值,对于引用数据类型比较的是存储地址是否相同,7和8行的hello是对同一个地址的对象的不同引用,所以输出true,9和10是两个不同地址的对象,所以输出false
2.String的equal已经重写过了,就是用来比较两个字符串是否字符一一对应,无论是不是同一个地址空间。
equals方法是基类Object中的方法,因此对于所有的继承于Object的类都会有该方法。在Object类中,equals方法是用来比较两个对象的引用是否相等,即是否指向同一个对象。(如果想要比较对象中的各个参数,就需要重写)
class Solution {
public boolean backspaceCompare(String S, String T) {
return build(S).equals(build(T));
}
public String build(String S) {
Stack<Character> ans = new Stack();
for (char c: S.toCharArray()) {
if (c != '#')
ans.push(c);
else if (!ans.empty())
ans.pop();
}
return String.valueOf(ans);
}
}
作者:LeetCode
链接:https://leetcode-cn.com/problems/backspace-string-compare/solution/bi-jiao-han-tui-ge-de-zi-fu-chuan-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这个是一个比较慢的方法
682.棒球比赛,还是用栈
收获:
字符串转整型Integer.valueOf(String)
11.可以装最多水的容器
这个题是我这三天做的成就感最明显的。虽然是普通难度,想明白了就思路很清晰,还不用写乱七八糟的判断条件。
双指针是个很重要的东西,而且与双指针有关的都好像很快还很省地方。
另一个收获: