LeetCode学习之链表鲜为人知的东西

LeetCode之链表的鲜为人知的东西

OK,你成功被我骗进来了

最近头脑发热,加上刚入职新公司,没多少活干,就闲着无事刷刷leetcode,刷了很多题都跟链表有关,那我就来说说自己对链表使用的一些小小的心得吧,不喜勿喷哈,创作不易。

链表遍历

先说一下常见的链表结构:

 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }

这是一个标准的单向链表,在做题的时候难免会想遍历链表,然后遍历到最后会发现,头结点找不到了,不知道有没有人跟我一样的,奴我愚钝。小希下面就说说我的做法吧,有更好的方式欢迎留言告知小希,谢谢。
我先附上我的做法,方法挺简单,遍历链表ListNode l1:

   *  List<Integer> list = new ArrayList<>();
   *   while (l1 != null) {
   *       list.add(l1.val);
   *       l1 = l1.next;
   *   }

首先是创建一个list,然后while循环链表,然后不停的向list中添加链表的值,时间复杂度O(n),结果得到一个有序的list,list值是链表的值,得到这样的list可以帮助我们拓展思路,转换一些算法思维,不知这样能否帮助到你,反正我是可以真的有帮助哦。

最后,愉快的时间到了,我要下班了,下次再聊聊链表的其他好处,放饭啦啦啦啦,鸡腿等我!!!

猜你喜欢

转载自blog.csdn.net/qq_23986927/article/details/105124619
今日推荐