两个有序链表合并为一个有序链表。
这段代码好像有问题,对用例局限很大。我换了个测试用例[1,2,4] 和 [1,13,14,15]。发现输出就不符合期望了。
在作者基础上,改了一下
+ (LinkNode*)merge:(LinkNode *)node link:(LinkNode*)link{
LinkNode *selfNode = link;
LinkNode *newNode = [LinkNode new];//记录
LinkNode *headNode = newNode;//头链表
while (selfNode&&node) {
if (selfNode.val < node.val) {
newNode.val = selfNode.val;
selfNode = selfNode.next;
}else{
newNode.val = node.val;
node = node.next;
}
newNode.next = [LinkNode new];
newNode = newNode.next;
}
LinkNode *p = selfNode?selfNode:node;
while (p.next) {
newNode.val = p.val;
newNode.next = [LinkNode new];
newNode = newNode.next;
p = p.next;
}
newNode.val = p.val;
return headNode;
}
算法 - 链表实现(OC) 及简单的链表算法链表实现 打印链表 链表反转 (使用递归法) 两个有序链表合并为一个有序链表 力扣题[https://leetcode-cn.com/problems/merge-two-s...
网络上面大神太多,不敢献丑,这只是个人的一些看点,有什么意见大家也可以一起探讨。 先来了解一下几个概念: `dispatch_group_async`:任务管理组(我姑且把他...
1.先下载WebStorm.dmg,不开会员下载速度会被限制,但是依旧可以下载成功。下载链接:WebStorm 2016.3.dmg - 免费高速下载 - 城通网盘-50TB...
刚接触。。看下来有点疑惑。
插入的第7步,插入140。发现它的父节点上最大值是130。那这个130就不是它分支节点上的最大关键字了。是只有进行分裂或者合并的时候才需要进行一下维护还是每次都需要。
还有一点疑惑就是删除的时候,这边举的例子是删除150。那么如果万一删除的120。剩的130是合并到左边还是右边,有什么规则吗
聊一聊B+树标签: 图解B+树 | B+树代码|mysql 聚集索引|mysql B+树索引| 前言 虽然B+是B-演化过来的,两者却有很大差别。补充一下,B树即是B-树,因为B-t...
原公司做金融投资理财产品,迭代可谓神速,现公司在做内部考勤软件及房源软件,才会忙啦...(唠嗑下)欢迎加Q:2089593457 共同探讨,不止于苹果开发! 安装起源那么开始...
一、什么是 Runtime(也就是所谓的“运行时”,因为是在运行时实现的。) 1.Runtime 是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [...
【前言介绍】 iOS的一种设计模式,观察者Observer模式(也叫发布/订阅,即Publich/Subscribe模式)。观察者模式,包含: 通知机制(notificati...