题解 | #单链表的排序#7行代码的优先级队列辅助

单链表的排序

http://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08

思路

简单思路,非最优。

  • 链表每个结点值都扔到优先级队列里去。
  • 新建结点的值为pq.poll()

想偷懒不想写排序算法,又不想调Arrays.sort(),才写出了这样的代码,就当练练PriorityQueue,纯属娱乐;-)

实现

import java.util.*;

public class Solution {
    public ListNode sortInList (ListNode head) {
        PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> a - b);
        ListNode cur = head;
        while(cur != null) {
            pq.add(cur.val);
            cur = cur.next;
        }
        ListNode res = new ListNode(-1);
        cur = res;
        while(!pq.isEmpty()) {
            cur.next = new ListNode(pq.poll());
            cur = cur.next;
        }
        return res.next;
    }
}
全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务