Insert Num To Circle List(向环链表中插入节点)
题目描述:
给定一个链表的头节点,和一个目标值。已知该链表从头部开始不降序,且最后一个节点指向了头节点;要求将该值插入链表后并保持链表仍旧有序。
例子:
1->3->4->1将节点5插入链表后得到1->3->4->5->1。
解题思路:
首先判断链表头节点是否为空,如果是空的情况,我们就将插入节点自己形成环链表返回即可。不为空的情况下,我们将pre指向head,将cur指向head->next。然后判断插入值和pre以及cur节点之间的关系。如果在二者之间我们就将数据插入即可;如果不是则继续向下遍历;当遍历一圈之后,如果都没找到合适的节点插入,说明这个插入值不是比所有的节点小,就是比所有的节点大。插入到头节点的上一个节点即可。注意这两种情况虽然进行操作一样,但是返回的头结点不一样。
代码如下:
|
|