题目
描述:
输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点。
输入为空指针的情况视为异常,另外不考虑节点值相等的情况。
链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
详细描述:
接口说明
原型:
ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode);
输入参数:
ListNode* pListHead 单向链表
ListNode* pInsertNode 新插入节点
输出参数(指针指向的内存区域保证有效):
ListNode* pListHead 单向链表
返回值:
正常插入节点返回链表头指针,其它异常返回空指针
练习阶段:
初级
代码
#include <iostream>
#include "OJ.h"
using namespace std;
ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode){
if(pListHead == NULL || pInsertNode == NULL){
return NULL;
}
ListNode* dummy = new ListNode();
dummy->m_pNext = pListHead;
ListNode* p = pListHead;
ListNode* pre = dummy;
while(p){
if(p->m_nKey > pInsertNode->m_nKey){
break;
}
pre = p;
p = p->m_pNext;
}
pInsertNode->m_pNext = p;
pre->m_pNext = pInsertNode;
return dummy->m_pNext;
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
使用单向链表对字符串进行排序,并以从小到大的顺序显示出来。
给你一个链表,节点有值域,计数器(表示值出现的次数,初始化为1),指针域,节点的值有重复的,去除重复的值,修改相应节点的计数器。这样做的好处就是节省的很多存储空间。 对即将参加华为机考的同学有非常大的帮助...
华为机试代码,各种问题,链表合集,二叉树合集,背包问题等 比较难的问题,还有简单的加减乘除等
华为的历年题目和复习参考代码,有链表,排序,字符串等
如果你想要加入华为公司,那么参加华为OD机试真题是一个不错的选择。 华为OD机试真题的题目难度较高,需要应聘者具备扎实的编程基础和较强的逻辑思维能力。在华为OD机试真题中,应聘者需要解决一系列的算法和数据...
里面是华为机试题目,给想去华为的人分享下。大约十分三类题目:链表题字符串题数据排序题。
接入控制链表 ACL接入控制链表 ACL
1.连接两个单向链表,返回排序后的结果。 2.一个保存有10000个URL的文本文件,删除其中相同的URL。 3.将9个石子放在9x9的方格中,要求同行、同列、45度上无两个石子。 智力题: 。。。。。 网易笔试题 腾讯试题...
用java语言总结了华为机考100道题,包括递归,堆栈,队列,回溯,数组,字符串,链表,动态规划,DFS算法等,帮助您们顺利通过华为机考。
计算字符串最后一个单词的长度 code_2.org 计算字符个数 code_3.org 1. Two Sum code_4.org Add Two Numbers code_5.org Longest Substring Without Repeating Characters code_6.org 二进制链表转整数 code_7.org ...
已知一个单向链表的头,请写出删除其某一个结点的算法
1、一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在些链表中删除学生年龄等于age的学生信息。 2、实现一个函数,把一个字符串中的字符从小写转为大写。 ...
1.1.1 如何实现一个高效的单向链表逆序输出? 1.1.2 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位 1.1.3 给定一个二叉搜索树(BST),找到树中第 K 小的节点 1.1.4 LRU缓存机制 1.1.5 关于...
近日在CDB并行测试中发现一个问题:我们需要的小区负荷话统结果总是为零,开始还以为小区负荷太小,于是加大短消息下发数量,但还为零,于是在程序中加入测试代码,把收到的数据在BAM上打印出来, 结果打印出来的...
华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。本项目属于华为物联网操作系统Huawei LiteOS基础内核源码,现有代码支持任务调度,内存管理,中断机制,队列管理,事件管理,IPC机制,时间管理,软...
1 面向对象的特征有哪些方面 ...通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
M个人围成一圈报数,数到N(1)的倍数或包含N这个数字时出圈,问剩下的最后一个人在原来的位置是多少? 报数规则 1、从第一个人开始报数为1,下一个人报数为上一个人报数加1 2、报数的最大值为2000,如果报数超过...
2012-06-11 20:57 2,442 单向链表.txt 2012-06-11 21:10 10,962 单片机控制的仓库粮食害虫检测报警系统.rar 2012-06-11 21:44 0 哈希表实例.zip 2012-06-11 21:13 1,001,214 坦克游戏源代码.zip 2012-06-11 21:17 ...
华为常见笔试题大全,常考知识点如static,IP地址,数据结构,链表,指针,字符串常见函数的实现,文件操作等
华为机考知识点总结1