Leetcode刷题100天(阿里云周赛)—在排序链表中插入一个节点(链表)—day42
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题100天(阿里云周赛)—在排序链表中插入一个节点(链表)—day42相关的知识,希望对你有一定的参考价值。
前言:
作者:神的孩子在歌唱
大家好,我叫运智
描述
在链表中插入一个节点。
示例
样例 1:
输入:head = 1->4->6->8->null, val = 5
输出:1->4->5->6->8->null
样例 2:
输入:head = 1->null, val = 2
输出:1->2->null
package 阿里云周赛;
/*
* https://tianchi.aliyun.com/oj/589132502606324130/633179267010859824
*/
public class 在排序链表中插入一个节点 {
public ListNode insertNode(ListNode head, int val) {
// 定义一个链表
ListNode ret = new ListNode(0);
// 指向head
ret.next = head;
// 定义一个指针
ListNode node = ret;
// while循环直到node指向空
while(node != null){
// 定义下一个节点的指针
ListNode next = node.next;
// 如果node的下一个节点不为空,且值小于val,在遍历到下一个节点
if(next != null && next.val < val){
node = node.next;
}else{ //当node.val<val && next.val>val时代表找到插入节点的位置
// 定义一个val链表
ListNode newNode = new ListNode(val);
// 指向next后面的链表
newNode.next = next;
// node在指向newNode
node.next = newNode;
// 插入完毕,跳出循环
break;
}
}
return ret.next;
}
}
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
以上是关于Leetcode刷题100天(阿里云周赛)—在排序链表中插入一个节点(链表)—day42的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天(阿里云周赛)—最大数和最小数—day42
Leetcode刷题100天(阿里云周赛)—最大数和最小数—day42
Leetcode刷题100天(阿里云周赛)—查找数组中的所有重复项(哈希)—day42
Leetcode刷题100天(阿里云周赛)—查找数组中的所有重复项(哈希)—day42