字节面试题 奇偶链表重新排序
昨晚面字节的时候写的,卡了好久,最后面试官提示我分成三步:
1、把原链表拆分成两个链表
2、把按降序排列的那个链表反转
3、归并两个有序列表
被提示之后还是修修补补最后也没写对,但是应该是不难的。我主要卡的地方在第一步,不知道怎么进行拆分,最后写的乱七八糟。我写的时候分成了两次循环去连接,但是第一次循环的时候原链表就断了,根本就不能再拆分第二个。现在想想我真的太傻了,面试官肯定在心里暗暗嫌弃呜呜呜。
仔细做的话是不难的,每一步都很常规,但是在面试的紧张环境下脑子很混,漏洞百出
/*
* 字节面试题 2020/7/27 二面
* 奇偶链表重新排序,奇数位置升序,偶数位置降序
*/
public ListNode nodeSort(ListNode head) {
//拆分成两个链表
ListNode even = new ListNode(-1);
ListNode evenHead = even;
ListNode odd = new ListNode(-1<