import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param A int整型一维数组 * @param val int整型 * @return ListNode类 */ public ListNode insert (int[] A, int val) { // write code here // 记录pre,node,并使用虚拟节点,保证一致性 if (A == null || A.length == 0) { return null; } // 构造虚拟头节点 ListNode head = new ListNode(-1); boolean flag = false; // 开始构造链表 ListNode node = head, pre = head; ListNode newNode = head; for (int i = 0; i < A.length; ++i) { node = new ListNode(A[i]); if (!flag && A[i] > val) { newNode = new ListNode(val); pre.next = newNode; newNode.next = node; pre = node; flag = true; } else { pre.next = node; pre = pre.next; } } // 如果val没有添加到链表中 if (!flag) { node.next = new ListNode(val); } return head.next; } }