请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问老师关于链表

老师我实在是想不通,假如说链表 (这里我用数组表示) [5,6,2,4,8,1]

let partion = (begin, end) => {
//寻找基准元素的节点
let val = begin.val
debugger;
let p = begin
let q = begin.next
while (q != end) { //我个人觉得临界条件应该是 !q.next 
//q等于截止的元素 终止
if (q.val < val) {
swap(p.next, q)
p = p.next
}
q = q.next
}
swap(begin, p)
}

老师你这个寻找中间的函数,while循环的条件是q != end,当q===end的时候,那么你的最后一个元素是不是就没有判断?

我的例子 来说 如果按照老师的while循环 q到了end也即是到了1,是不是就不会进入while循环。但是1明明小于5应该去5的左边

正在回答 回答被采纳积分+3

2回答

MLYBTTT18 2019-05-10 20:04:40

end不是1是undefined

0 回复 有任何疑惑可以回复我~
快乐动起来呀 2019-04-08 22:39:34

是的,是没有判断最后一个元素,但是在前一个元素那就比较了啊,就是到8的时候会和8与8的next即1比较啊

0 回复 有任何疑惑可以回复我~
  • 提问者 hy_wang #1
    老师你这明明是传了一个end是undefined …好坑啊,如果到了倒数第二个,哪里调用了倒数第二个的next …
    回复 有任何疑惑可以回复我~ 2019-04-08 22:46:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信