题目

  一个环形单链表从头节点head开始不降序,同时由最后的节点指回头节点。给定这样一个环形单链表的头节点head和一个整数num,请生成节点值为num的新节点,并插入到这个环形链表中,保证调整后的链表依然有序

 1     public Node insertNum(Node head, int num)
 2     {
 3         Node node = new Node(num);
 4         if(head == null)
 5         {
 6             node.next = node;
 7             return node;
 8         }
 9
10         Node pre = head;
11         Node cur = head.next;
12         while(cur != head)
13         {
14             if(pre.value <= num && cur.value >= num)
15             {
16                 break;
17             }
18             pre = cur;
19             cur = cur.next;
20         }
21         pre.next = node;
22         node.next = cur;
23         return head.value < num ? head : node;
24     }

来源:左程云老师《程序员代码面试指南》

转载于:https://www.cnblogs.com/latup/p/11018745.html

Coding Interview Guide -- 向有序的环形单链表中插入新节点相关推荐

  1. 链表问题18——向有序的环形单链表中插入新节点

    题目 一个环形链表从头节点开始的顺序为不降序的顺序,也就是如1->2->2->2->3->4这样的链表叫做不降序,同时由最后的节点指回头节点.给定这个环形单链表的头节点h ...

  2. 向有环的环形链表中插入新节点

    题目: 一个环形单链表从头节点开始不降序,同时由最后的节点指向头节点.给定这样一个环形单链表的头节点head和一个整数num,请生成节点值为num的新节点,并插入到这个环形链表中,保证调整后的链表依然 ...

  3. 数据结构例16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序。

    /* 16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序. */ # include <iostream> # include <stdlib.h> # i ...

  4. 【 C 】在单链表中插入一个新节点的尝试(二)

    在上篇博文中:[ C ]在单链表中插入一个新节点的尝试(一),我们最后提到了如果向单链表的开头(起始位置)插入一个节点,上篇博文中给出的程序显然完成不了这任务. 这篇博文中,我们将解决这个问题,给出一 ...

  5. 【 C 】在单链表中插入一个新节点的尝试(一)

    根据<C和指针>中讲解链表的知识,记录最终写一个在单链表中插入一个新节点的函数的过程,这个分析过程十分的有趣,准备了两篇博文,用于记录这个过程. 链表是以结构体和指针为基础的,所以结构体和 ...

  6. 用O(1)的时间复杂度删除单链表中的某个节点

    用O(1)的时间复杂度删除单链表中的某个节点 给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode {int m_nKey;ListNode* ...

  7. 删除单链表中的重复节点

    删除单链表中的重复节点 一.题目描述 已知单链表L,写一算法,删除其中的重复节点.(更好的阅读体验,请访问程序员在旅途) 二.分析解答 2.1 知识点分析 本题主要考察链表的相关知识点,其中包括:单链 ...

  8. 删除单链表中的重复节点(c语言版本)

    这是一道经典的面试题,下面是我的研究和举一反三,特整理如下: 分为三种情形: (1)删除有序链表的重复节点,重复节点一个都不留 (2)删除有序链表的重复节点,重复节点只留一个 (3)删除无序链表的重复 ...

  9. 在一个递增有序链表中插入新结点并保持链表递增顺序不变

    下列给定程序中已建立一个带头结点的单向链表,链表中各节点按节点数据域中的数据递增有序链接.函数fun的功能是:把形参x的值放入一个新节点并插入列表中使插入后各节点数据域中的数据仍保持递增有序.  请在 ...

最新文章

  1. linux基础(8)-颜色显示
  2. mysql搭建主从的目的_mysql搭建主从
  3. %3cphp和%3c php_关于 PHP 表单安全性
  4. 位向量(bit vector)(算法导论第十一章11.1-2)
  5. kaggle实战—泰坦尼克(三、数据重构)
  6. 15个Linux Yum命令实例--安装/卸载/更新
  7. java常量池的理解_Java常量池的大概理解
  8. Redisbook学习笔记(3)数据类型之字符串
  9. C++判断一个序列是否为堆(最大堆、最小堆)
  10. 湖北工业大学查分_湖北工业大学成人高考低于分数线没考上怎么办?
  11. 控制kvm-qcow2增长空间-(一)
  12. 理解Python闭包,这应该是最好的例子
  13. Java实习 oneday
  14. centos7 安装couchbase集群
  15. 路由器、交换机、网关
  16. 第二章 编程初步 Ivor Horton
  17. UI设计从业者,怎样才能成为月薪过万的UI设计师?
  18. windows中使用钩子拦截消息
  19. Windows键失灵的三种处理方式
  20. 网易云音乐注册资本增加35.81% 达8.0025亿美元

热门文章

  1. hdu1053 Entropy hdu2527 Safe Or Unsafe
  2. python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...
  3. 芝枝.计算机与人文科学,计算机与人文科学
  4. Win32高级语法 条件测试语句与分支语句
  5. 8086标志操作指令
  6. C++11实现自旋锁
  7. java uuid静态方法_Java UUID equals()方法与示例
  8. Java ObjectStreamField getName()方法与示例
  9. Anaconda下安装OpenCV和Tensorflow(最简洁高效的方法)
  10. php 生成css文件怎么打开,php生成html文件的多种步骤介绍