脚本宝典收集整理的这篇文章主要介绍了[LintCode] Insert Node in Sorted Linked List,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
PRoblem
Insert a node in a sorted linked list.
Example
Given list = 1->4->6->8 and val = 5.
Return 1->4->5->6->8.
Solution
public class Solution {
public ListNode insertNode(ListNode head, int val) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode node = new ListNode(val);
//if val is the smallest in entire list
if (head == null || val < head.val) {
dummy.next = node;
node.next = head;
return dummy.next;
}
//while val is larger than head.val, loop the linked list and check the range between head & head.next to insert
while (head != null && head.next != null) {
if (head.val <= val && val <= head.next.val) {
ListNode next = head.next;
head.next = node;
node.next = next;
break;
} else if (val > head.next.val) {
head = head.next;
}
}
//if node not inserted in the loop
if (head.next == null) {
head.next = node;
}
return dummy.next;
}
}
以上是脚本宝典为你收集整理的[LintCode] Insert Node in Sorted Linked List全部内容,希望文章能够帮你解决[LintCode] Insert Node in Sorted Linked List所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。