反转单链表中的一部分

解法一:(自己一开始最先想到的,虽然有点繁琐,但是练了基本功)

解题思想主要是:

1.先找到m节点前面的那个节点pm(不能直接找到m节点,不然后面会有其他不好处理的地方)

2.再循环m-n+1次,找到n节点pn

3,将m到n进行截断,对这部分进行单链表反转;

4.再将反转后的链表连接起来就行;

解法二:(相对简单得多)

解题思想;

1.将所有指针按最开始的顺序放到一个指针容器中去

2.对第m个到n个指针用reverse(pointer.begin()+m-1,pointer.begin()+n)逆序排列

3.对所有容器里面的指针进行依次连接

你可能感兴趣的:(反转单链表中的一部分)