波波老师好,这几天开始复盘本课,今天看到ListNode的删除问题的时候,突然想着增加一个removeFirstElement
方法:
public ListNode removeFirstElement(ListNode node, int val) {
if (node == null) return null;
if (node.val == val) {
return node.next;
}
node.next = removeFirstElement(node.next, val);
return node;
}
经过验证结果是正确的。
同时尝试给递归划分个阶段,我想问下站在您的角度来看,这样的划分合适吗,是否有可能会对更复杂的递归情境造成理解障碍。
我的划分过程如下:
然后把求和代码做了一点类似几何中的辅助线功能的小改动:
登录后可查看更多问答,登录/注册