-
Notifications
You must be signed in to change notification settings - Fork 4
/
4ueAj6.java
42 lines (37 loc) · 1.03 KB
/
4ueAj6.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.dbc.code;
public class U4eAj6 {
class Node {
public int val;
public Node next;
public Node() {}
public Node(int _val) {
val = _val;
}
public Node(int _val, Node _next) {
val = _val;
next = _next;
}
}
public Node insert(Node head, int insertVal) {
Node node = new Node(insertVal);
if (head == null) {
node.next = node;
return node;
}
if (head == head.next) {
head.next = node;
node.next = head;
return head;
}
Node preHead = head, point = head.next;
while (point != head) {
if (insertVal >= preHead.val && insertVal <= point.val) break;
if (preHead.val > point.val && (insertVal > preHead.val || insertVal < point.val)) break;
preHead = preHead.next;
point = point.next;
}
preHead.next = node;
node.next = point;
return head;
}
}