下面图片中的这个内容要怎么做,我不会做,我该如何去解决它呢?
1条回答 默认 最新
关注 /** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: ListNode* get_middle_position(ListNode* head,ListNode* tail) { ListNode* slow,*fast; slow = head; fast = head; while(fast != tail && fast->next != tail) { slow = slow->next; fast = fast->next->next; } return slow; } ListNode* merge(ListNode* left,ListNode* right) { ListNode *head, *cur; if (left->val < right->val) { head = left; left = left->next; } else { head = right; right = right->next; } cur = head; while (left && right) { if (left->val < right->val) { cur->next = left; left = left->next; cur = cur->next; } else { cur->next = right; right = right->next; cur = cur->next; } } if (left) { cur->next = left; } if (right) { cur->next = right; } return head; } ListNode* MergeSort(ListNode* begin, ListNode* mid, ListNode* end) { if (begin->next == end) { begin->next = nullptr; return begin; } return merge(MergeSort(begin, get_middle_position(begin, mid), mid), MergeSort(mid, get_middle_position(mid, end), end)); } /** * * @param head ListNode类 * @return ListNode类 */ ListNode* sortList(ListNode* head) { // write code here if(head == NULL) return NULL; return MergeSort(head,get_middle_position(head, NULL),NULL); } };
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请问Ubuntu要怎么安装chrome呀?
- ¥15 视频编码 十六进制问题
- ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
- ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
- ¥15 FileNotFoundError 解决方案
- ¥15 uniapp实现如下图的图表功能
- ¥15 u-subsection如何修改相邻两个节点样式
- ¥30 vs2010开发 WFP(windows filtering platform)
- ¥15 服务端控制goose报文控制块的发布问题
- ¥15 学习指导与未来导向啊