- 博客(6)
- 收藏
- 关注
原创 刷leetcode之删除链表节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 – head = [4,5,1,9],它可以表示为: 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2: 输入: ...
2019-06-02 22:02:53 104
原创 刷leetcode之删除链表中指定值的节点
删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5 但要注意两个值连在一起的情况: 实例: 输入:1->1, val = 1 输出:[] 如果有两个连续的节点值要删除,注意在删除这个节点后,节点不要后移,否则会少删除后一个相同值的节...
2019-06-02 21:32:59 270
原创 循环单链表
这里对单链表的循环模式写了一些代码,只是单纯从原理上做出了说明,并没有加入相关的容错 单链表的循环模式和非循环的单链表有什么很大的区别,只是在初始时要把head->next = NULL 变成 head->next = head即可,另外在判断链表结束时的条件也要相应的从p->next == NULL 改成 p->next = head. 下面是代码 // // main...
2019-05-25 22:01:26 331
原创 刷leetcode之删除链表的倒数第n个节点
首先采用了最一般的办法,就是先统计出该链表里面有多少个element,然后再执行一次遍历,遍历到倒数第n个节点的前一个节点,再使用p->next = p->next->next就可以删除倒数第n个节点 但不是one pass实现的,代码如下: /** * Definition for singly-linked list. * struct ListNode { * ...
2019-05-23 21:22:58 119
原创 刷leetcode之翻转单链表
本文参考下面资料: https://www.cnblogs.com/byrhuangqiang/p/4311336.html 采用了其中第一种方法 代码如下: `` /** Definition for singly-linked list. struct ListNode { int val; struct ListNode *next; }; */ struct ListNod...
2019-05-20 23:04:18 141
原创 刷leetcode笔记之链表相交处查找
刷leetcode笔记之链表相交处查找 参考: https://blog.csdn.net/fengxinlinux/article/details/78885764 时间复杂度 O(n) 使用的方法是: 先判断两个链表的最后一个node是不是在同一地址,顺便计算出两个链表的长度 找到两个链表的长度差diff,将更长的那个链表的头指针偏移diff个node 两个链表同时偏移,判断其node的指针...
2019-05-19 18:49:16 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人