王道数据结构习题,看我做的对不对p40-18

img

img

img


注释:
p为h1表工作指针,p1为p的后继;
p2首先充当h2头结点,在与h2互换后,做新来的h1的尾指针。

劳烦大家看看图三我的做法,我的思路是不想遍历两个表,而是用一个新的头结点去代替h2的头结点,然后用尾插法把h1全家接过来。
一开始我觉得这样少循环一次,时间复杂度肯定要小,虽然不是数量级的层面。但我写完后,发现就算只有一个循环,但循环里的语句要更多点,貌似时间复杂度更大了。

我的算法对吗?

1.若我的做法不正确:
①哪里错了,请指教。
2.若我的算法正确:
①我的算法的时间复杂度是不是更大
②如果是实际应用,是不是答案的做法更好一点?或者我的做法有可取性吗?