题
思
今天碰到两道简单啊
leetcode160
我并没有完全按照要求做,还是开了set。
如果空间复杂度O(1)的话这题可真不是简单题。
题解中O(1)的做法确实很秀。
leetcode929
傻逼题
代码
leetcode160
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
Set<ListNode> listA = new HashSet<ListNode>();
Set<ListNode> listB = new HashSet<ListNode>();
while (headA != null || headB != null) {
if (headA != null) {
if (!listB.contains(headA)) {
listA.add(headA);
headA = headA.next;
} else {
return headA;
}
}
if (headB != null) {
if (!listA.contains(headB)) {
listB.add(headB);
headB = headB.next;
} else {
return headB;
}
}
}
return null;
}
}
leetcode929
class Solution {
public int numUniqueEmails(String[] emails) {
Set<String> set = new HashSet<String>();
for (String email : emails) {
String[] arr = email.split("@");
int idx = arr[0].indexOf('+');
if (idx >= 0) {
set.add(arr[0].substring(0, idx).replaceAll("\\.", "") + "@" + arr[1]);
} else {
set.add(arr[0].replaceAll("\\.", "") + "@" + arr[1]);
}
}
return set.size();
}
}