-
合并两个已经排序的单链表为一个排序的单链表,相同内容只保留一个如:单链表a:1->2->3->4 单链表b:3->4->5 输出:1->2->3->4->5
具体参考:[LeetCode]21.Merge Two Sorted Lists
/*---------------------------------------------
* 日期:2015-02-23
* 作者:SJF0115
* 题目: 合并排序链表
* 来源:暴风影音
* 博客:
-----------------------------------------------*/
using namespace std;
struct ListNode{
int val;
ListNode *next;
ListNode(int x):val(x),next(NULL){}
};
//
ListNode* MergeSortedList(ListNode *list1,ListNode *list2){
// 头节点
ListNode *head = new ListNode(-1);
ListNode *p = head;
int val1,val2;
// 合并
while(list1 != NULL || list2 != NULL){
val1 = (list1 == NULL) ? INT_MAX : list1->val;
val2 = (list2 == NULL) ? INT_MAX : list2->val;
// 相同内容只保留一个
if(val1 == val2){
p->next = list1;
list1 = list1->next;
list2 = list2->next;
}//if
// 当前链表1小
else if(val1 < val2){
p->next = list1;
list1 = list1->next;
}
// 当前链表2小
else{
p->next = list2;
list2 = list2->next;
}
p = p->next;
}//while
return head->next;
}
int main() {
int A[] = {1,2,4,7,9};
int B[] = {1,3,4,8,9,11,12};
// 链表1
ListNode *head1 = new ListNode(A[0]);
ListNode *p1 = head1;
for(int i = 1;i < 5;i++){
ListNode *node = new ListNode(A[i]);
p1->next = node;
p1 = node;
}//for
// 链表2
ListNode *head2 = new ListNode(B[0]);
ListNode *p2 = head2;
for(int i = 1;i < 7;i++){
ListNode *node = new ListNode(B[i]);
p2->next = node;
p2 = node;
}//for
ListNode *head = MergeSortedList(head1,head2);
// 输出
ListNode *p = head;
while(p){
cout<<p->val<<" ";
p = p->next;
}//while
cout<<endl;
}
2.编写程序,在原字符串中把尾部m个字符移动到字符串的头部,要求:长度为n字符串操作时间复杂度为O(n),时间复杂度为O(1)。
如:原字符串为”Ilovebaofeng”,m=7,输出结果:”baofengIlove”。
待续。。。。
3.暴风影音的片源服务器上保存着两个文件a和b,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出a,b文件共同的URL。要求:算法设计。
待续。。。。
<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>
分享到:
相关推荐
暴风有很多朋友留言需要暴风影音5本地播放版,暴风影音作为老牌的本地视频播放软件在解码能力上有很大优势,新发布的暴风影音5号称打开和使用速度平均提升三倍,集成real解码组件,支持绝大多数视频格式。...
使用过很多种暴风影音软件,感觉还是以前的那一个版本6.4.9.0(暴风影音7.02.01)最好,这一款暴风影音在安装后,桌面上呈现一个带S的黑色图标,后来升级的暴风影音不能播放的影片它都能播放。很棒的。
暴风影音暴风影音暴风影音
2006年的老版暴风影音,非常好用,绝对好用的影音播放软件,我的珍藏,与你分享。
暴风影音2015精简版,免安装程序。直接解压即可以使用。
暴风影音_5.72暴风影音_5.72暴风影音_5.72暴风影音_5.72暴风影音_5.72暴风影音_5.72
暴风影音经典版旧版 StormCodec7.exe
暴风影音 2011 经典款 暴风影音 2011 经典款 暴风影音 2011 经典款
暴风影音最好用版本
暴风影音 v5.40.0828.1111 QiuQuan网络增强版.exe
暴风影音老版本
清爽版暴风影音播放器(支持XP、win2003、win7,亲测过,其它版本没试过)
皮肤 暴风影音皮肤 暴风影音 皮肤 12种哦
暴风影音5.exe
暴风影音
暴风影音数据库文件
暴风影音手机版是在线视频播放的利器,支持3d播放,本地视频加密等
暴风影音rmvb辅助程序
暴风影音皮肤★vista完美改进版★ 暴风影音皮肤★vista完美改进版★ 暴风影音皮肤★vista完美改进版★
网上已经很难找到了 暴风影音早期版本3.7