**
只给定单链表中某个结点p,O(1)时间内在p前面插入一个结点。返回头结点。
**
**要询问节点是否一定在链表中(否则判断的时间复杂度为O(n)),是否为空等这些条件。
采用交换值的方法,相当于在该节点后插入节点。
public static ListNode insertNodeBeforeNode(ListNode head, ListNode node, ListNode newNode){
if(newNode==null) return null;
if(head == null && node == null) head = newNode;//链表为空
else if(node == null){