
Day 12删除公共字符思路使用 set 收集第一个字符串的字符对第二个字符串进行遍历当这个字符串在 set 中则不拼接到返回值中代码实现importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);Stringstrin.nextLine();Stringtmpin.next();SetCharactersetnewHashSet();for(inti0;itmp.length();i){set.add(tmp.charAt(i));}StringBuildersbnewStringBuilder();for(inti0;istr.length();i){if(!set.contains(str.charAt(i))){sb.append(str.charAt(i));}}System.out.println(sb.toString());}}两个链表的第一个公共结点 (重点)思路如图两个指针会在 3 的位置相遇此时一定是公共部分第一个节点实现步骤让两个指针同时遍历链表一个指针遍历完让其去另一个指针继续遍历当两个指针遍历的节点相同这个节点就是两条链表的第一个公共节点代码实现importjava.util.*;/* public class ListNode { int val; ListNode next null; ListNode(int val) { this.val val; } }*/publicclassSolution{publicListNodeFindFirstCommonNode(ListNodepHead1,ListNodepHead2){ListNodecur1pHead1,cur2pHead2;while(cur1!cur2){cur1cur1null?pHead2:cur1.next;cur2cur2null?pHead1:cur2.next;}returncur1;}}mari 和 shiny思路求字符串中子序列能组成 shy 的个数遍历到 s对 s 的个数进行计数 cnts遍历到 h对 h 前已经达到的 cnts 计数得到 cnth遍历到 y对 y 前已经达到的 cnth 计数得到 cnty返回最终的 cnty就是子序列能组成 shy 的个数代码实现importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);longnin.nextLong();Stringstrin.next();longscnt0,shcnt0,shycnt0;for(inti0;in;i){charcurstr.charAt(i);if(curs)scnt1;elseif(curh)shcntscnt;elseif(cury)shycntshcnt;}System.out.println(shycnt);}}