题目进展
题号 | 状态 | 思想 |
---|---|---|
82. 删除排序链表中的重复元素 II | 完成 | 边界的处理问题可以使用哑结点,重复的全部删除可以采用pre和cur相差两个结点,方便处理cur.next==null的情况 |
83. 删除排序链表中的重复元素 | 完成 | 循环{ 如果cur.val=cur.next.val那么cur.next = cur.next.next; } |
86. 分隔链表 | 完成 | 注意头尾,第二段尾结点加上.next=null,来避免出现环形结点 |
88. 合并两个有序数组 | 完成 | 简单题 |
89. 格雷编码 | 完成 | 0,1–00,01,11,10,方法为镜像前加1即可 |
90. 子集 II | 完成 | 回溯+截枝(回溯的for循环中加入重复判断if (i > index && nums[i - 1] == nums[i]) continue;) |
91. 解码方法 | 完成 | 倒序动态规划,dp可设置长度+1,方便处理后面端结点,当然也可以提出来当特殊点对待 |
知识积累:
- System.arraycopy();
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
代码解释:
Object src : 原数组
int srcPos : 从元数据的起始位置开始
Object dest : 目标数组
int destPos : 目标数组的开始起始位置
int length : 要copy的数组的长度