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

Leetcode刷题100天—5868. 可互换矩形的组数(哈希)—day36(周赛)

Leetcode刷题100天—5867. 反转单词前缀(字符串+双指针)—day36(周赛)