198:打家劫舍(简单):使用动态规划,考虑某个位置的值是与前一个间隔一个位置的最大值相加,还是与间隔两个位置的值相加:
d[i]=max(d[i-2]+nums[i],d[i-3]+nums[i]);
maxv=maxv>d[i]?maxv:d[i];
338: 比特位计数(中等):动态规划,看了大佬们的解析,去掉最后一位的数字的1的个数加上判断最后一位是否为1,即re[i]=re[i>>1]+(i&1)。或者用re[i&(i-1)]+1,讲道理这个方法没看懂但是很神奇,
i&(i-1)这个可以判断i是否是2的幂。
回溯法:39,46,参考https://blog.csdn.net/wonner_/article/details/80373871
64:最小路径和(中等):动态规划,逆向思维思考
148:排序链表(中等),重要!!!使用归并排序
208: 实现 Trie (前缀树)*****定义一个节点拥有数组 links,表示26个字母哪一个是拥有连接
328: 奇偶链表,双指针,将奇数位置节点连接起来,偶位置节点连接起来,最后把这两个链表连接起来