采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
波波老师,我这边翻了下前面课的代码,第四章里LinkedList的并没有写removeElement这个方法,第五章里的Solution有,但那个方法并没有用到prev.next.e.equals(e)这个语句,而是用了(prev.next.val==val)这个语句,也许是我粗心了,老师能具体指一下github里面第四章的LinkedList的removeElement方法具体在哪一课敲的吗?
你没有粗心,是我粗心了(或者是慕课网的后期粗心了,具体无法考证了)。有同学已经提出来了这个问题,我找了一圈,发现视频里确实没有我敲这段代码的内容了。我不确定是被我不小心剪掉了,还是被慕课网的后期不小心剪掉了。。。抱歉!
下次课程做翻新的时候,我会把这一小段代码补上的:)谢谢提醒!
具体你说的第五章代码有误,具体是哪个代码?能否给我一个github的具体代码地址?谢谢!
加油!:)
不是说第五章的代码有误,而是表达方式不同,第五章的Solution是这么写的:ListNode prev =dummyHead; while (prev.next!=null){ if (prev.next.val==val) { prev.next=prev.next.next; } else prev=prev.next; } return dummyHead.next; 而第四章凭空出现的LinkedList里面的removeElement则是这么写的:Node prev = dummyHead; while(prev.next != null){ if(prev.next.e.equals(e)) break; prev = prev.next; } ———————————————————————— 第五章的写法用的是if else 第四章用的是if 和break 没有用else,更加简单,我觉得应该有知识点可以讲,所以还蛮好奇的
哦,明白了。因为第五章是基于Leetcode上的问题写的。Leetcode上对于链表的定义,Node中的值都是int,所以可以直接用==判断。但是第四章,我们自己的链表由于使用泛型,所以需要用equals:)至于知识点,没有什么特殊的啦:)
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.4k 14
1.3k 14