有一个整数val,如何在节点值有序的环形链表中插入一个节点值为val的节点,并且保证这个环形单链表依然有序。
给定链表的信息,及元素的值A及对应的nxt指向的元素编号同时给定val,请构造出这个环形链表,并插入该值。
测试样例:
[1,3,4,5,7],[1,2,3,4,0],2
返回:{1,2,3,4,5,7}
思路:先把链表放入一个数组中,对齐排序,然后再将其放入链表之中。
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {} };*/ class InsertValue { public: ListNode* insert(vector<int> A, vector<int> nxt, int val) { vector<int> x=A; x.push_back(val); //插入一个数 sort(x.begin(),x.end()); //对其排序 ListNode *head=NULL; //头指针为空 ListNode *pw=head; //指向尾的指针 for(int i=0;i<A.size()+1;i++) { ListNode *p=new ListNode(x[i]); if(head ==NULL) //第一个值给链表的情况 head = p,pw = p; else { pw->next = p; pw = p; } } return head; } };