给定一个链表和一个值x,编写函数,对该链表进行重排,使小于x的节点在前面
来源:互联网 发布:数据科学实战 pdf 编辑:程序博客网 时间:2024/04/29 15:30
题目:给定一个链表和一个值x,编写函数,对该链表进行重排,使小于x的节点都出现在大于或者等于x的节点的后面
分析:题目很简单,主要的做法就是创建一个哑节点指向头结点(原因:不知道哪一个节点会出现在头结点上),由于链表是是申请内存空间,最后要记得释放内存,否则会造成内存泄露。
参考答案:(实际运行的,绝对正确)
#include "stdafx.h"
#include<iostream>
using namespace std;
struct ListNode
{
int val;
ListNode *next;
ListNode(int x): val(x),next(NULL){}
};
ListNode *reorderList(ListNode *head,int x)
{
ListNode *newHead=NULL;
ListNode *aDummy=new ListNode(0);
ListNode *aCurr=aDummy;
ListNode *bDummy=new ListNode(0);
ListNode *bCurr=bDummy;
while(head)
{
ListNode *next=head->next;
head->next=NULL;
if(head->val<x)
{
aCurr->next=head;
aCurr=head;
}
else
{
bCurr->next=head;
bCurr=head;
}
head=next;
}
aCurr->next=bDummy->next;
newHead=aDummy->next;
delete aDummy;
delete bDummy;
return newHead;
}
- 给定一个链表和一个值x,编写函数,对该链表进行重排,使小于x的节点在前面
- 给定一个链表和一个值x,对它进行分区,使得小于x的所有节点都在大于或等于x的节点之前.保留两个分区中的每一个节点的原始相对顺序。
- 链表分割 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以
- 给定一个链表,链表的每一个节点包含三个属性:1、节点值;2、指向下一个结点的引用;3、随机指向链表内任意一个节点的引用,也能不指向任何节点。复制该链表
- 给定单链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该节点
- 给定一个二叉树和任意一个节点,求该该节点的下一层的第一个节点
- 给定一个二叉树和任意一个节点,求该该节点的下一层的第一个节点
- 题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。
- 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点
- 13\给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点,
- 给定一个链表,编写函数返回链表的中间点
- 编写一个函数rightbot(x,n),该函数返回将X循环右移n(二进制)为后所得的值
- 练习2-8 编写一个函数rightrot(x,n),该函数返回将x循环右移n(二进制)位后所得到的值
- 请编写一个 C 函数,该函数将给定的一个整数转换成字符串
- 设计一个算法将一个线性表如何将大于0的数放在后面,小于0的放在前面。
- 给定一个数组,从中查找是否存在两个数的和等于一个给定的x
- 编写一个函数, 给定一个链表的头指针,要求只遍历一次, 将单链表中的元素顺序翻转过来
- 2.6 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。
- 程序员面试金典第二章:链表(3) 链表中倒数第k个结点
- GCDAsyncSocket two way authentication SSL 双向认证
- mysql结果集ResultSet列别名
- 重复建设,资本泡沫,未尝不是好事
- Ubuntu16.04 此软件来自第三方且可能包含非自由组件
- 给定一个链表和一个值x,编写函数,对该链表进行重排,使小于x的节点在前面
- RxJava回调线程切换
- laravel 5.2 的搜索加分页
- 01-learning-lenet.ipynb
- Ubuntu 安装32位兼容库
- http tunnel && http connect method
- 个人记录-LeetCode 73. Set Matrix Zeroes
- [51nod1362]搬箱子
- 笔记