ListNode* insert(vector<int>& A, int val) {
        // write code here
        if(A.empty()) return nullptr;
        ListNode *pre = new ListNode(0);
        ListNode *cur = pre;
        int c = 1;
        for(int i : A)
        {
            if(val < i && c > 0)
            {
                cur->next = new ListNode(val);
                cur = cur->next;
                c--;
            }
            cur->next = new ListNode(i);
            cur = cur->next;
        }
        if(c>0)
        {
            cur->next = new ListNode(val);
            cur = cur->next;
        }
        return pre->next;