摘要:
解题思路:熟能生巧,链表问题就是用指针来模拟,链表反转很经典,利用三个指针,两个指着head,一个指着null,然后模拟。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode 阅读全文
摘要:
解题思路:本题思路主要是前缀和思想,涉及到子集和问题,前缀和思想有效,两个前缀和的差就等于对应一个子集和。本题可以用哈希表的方式记录每个前缀和的值,核心依靠k = pre[j]-pre[i]转化成pre[j]-k=pre[i],计算pre[i]这个值出现的个数加到res中,最后返回。 class S 阅读全文
摘要:
解题思路:双指针问题,一个思路就是一个指针负责保留要的数组元素,另一个负责一直往前筛选,碰到0就跳过,剩下的就保存在第一个指针中,最后再把剩下的部分用0补齐。 class Solution { public void moveZeroes(int[] nums) { int left = 0; in 阅读全文
摘要:
解题思路:因为可能存在相同的数,所以运用到HashSet去重,然后遍历hashset每个数num,如果num-1不在hashset中,那么num就是序列开头,然后继续查找num++,直到hashset中找不到为止,记录长度,最后取最长的长度。 class Solution { public int 阅读全文
摘要:
解题思路:需要使用hashmap,定义是(<String,List()>)遍历数组内每一个字符串,转为字符数组后用Arrays.sort()排序,如果hashmap.containsKey没有对应的key,就将排序后的字符数组转回字符串(new String(arr)),以(s_new,new Li 阅读全文