链表翻转, 比如0->1->2->3->4, 在x号位分开. 0<-1<-2 3<-4 再合并 2->1->0->4->3
这样需要拿到Node 0, 在后续操作完成后, 再将 node0.next = last_node 遇到了些问题.代码贴playground了.
一开始去StackOverFlow上提了问, 但发现StackOverFlow上聊rust的好少.
请大佬解答一下.
Ext Link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=68521e3214b020258f81b8bc4a8d15d0
1
共 9 条评论, 1 页
评论区
写评论多谢, 我研究研究 对以下内容的回复:
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=89554b7cad6998102ef87ab2dee00325
对以下内容的回复:
遇到这种需要2次mutable引用的情况, 该怎么办呢? 对以下内容的回复:
safe应该是可以做的,但是必须把之前的0节点先move出来,完成1至x的倒置之后再插回到1后面,再插入x+1至n的节点。之前波浪号被当成markdown符号了。
对不起,好像还是有问题,不能拿到1节点的引用,实际上和现在的情况是一样的…… 对以下内容的回复:
safe应该是可以做的,但是必须把之前的0节点先move出来,完成1至x的倒置之后再插回到1后面,再插入x+1至n的节点。之前波浪号被当成markdown符号了。
我试试 对以下内容的回复:
safe应该是可以做的,但是必须把之前的0节点先move出来,完成1至x的倒置之后再插回到1后面,再插入x+1至n的节点。之前波浪号被当成markdown符号了。
对以下内容的回复:
safe应该是可以做的,但是必须把之前的0节点先move出来,完成1至x的倒置之后再插回到1后面,再插入x+1至n的节点。之前波浪号被当成markdown符号了。
safe应该是可以做的,但是必须把之前的0节点先move出来,完成1
x的倒置之后再插回到1后面,再插入x+1n的节点。我试着将line41的first_part_tail改成raw pointer. 然后随着循环的进行, 这个raw pointer在变动, 不是最初记录的
node0
. 然后就很晕了, 不知该怎么办. 对以下内容的回复:还是用
unsafe
写数据结构舒服些