代码改变世界

leetcode61. Rotate List

2018-09-28 01:39 by legend聪, 184 阅读, 0 推荐, 收藏, 编辑
摘要:问题比较简单,方法就是k%sum,然后移动这么多次,把这段链表插在首部就搞定了。有几个测试用例比较恶心,k==0 head==NULL和k%sum==0的情况,假如k%sum为0的话根本不用任何操作直接返回head就好。 阅读全文

leetcode24. Swap Nodes in Pairs

2018-09-24 16:33 by legend聪, 161 阅读, 0 推荐, 收藏, 编辑
摘要:创建指针pre来指向交换结点的前一个结点,然后按照指针含义每次移动pre。 阅读全文

leetcode82. Remove Duplicates from Sorted List II

2018-09-24 02:02 by legend聪, 146 阅读, 0 推荐, 收藏, 编辑
摘要:利用虚拟节点进行删除结点,pre始终指向不重复的钱一个元素,一开始指向虚拟结点。如果遇到重复结点就全部删除再与pre相连接. 阅读全文

leetcode203. Remove Linked List Elements

2018-09-23 21:33 by legend聪, 141 阅读, 0 推荐, 收藏, 编辑
摘要:很经典的一道题,但波波老师讲出了新的东西。设立虚拟结点,因为每次循环cur->next只有头结点无法考虑,但是你要是单独考虑头结点,万一头结点删除你还需要再考虑下一头结点,就形成了很麻烦的while结构。有了虚拟头结点,问题全都解决了。 阅读全文

leetcode2 add two numbers

2018-09-23 12:45 by legend聪, 249 阅读, 0 推荐, 收藏, 编辑
摘要:一开始本想用函数把两个链表代表的数字都加起来,然后再取每一位数字合成链表,结果发现因为数字位数太多类似大整数,无法直接求出和,所以必须每一位都相加然后组成链表。学到了处理进位的方法,十分优雅,每次很自然的/10,大于10的话sum值自动变为1,如果最后还是1的话就再开一个结点来扩展一位 阅读全文

结构体的构造函数

2018-09-17 22:53 by legend聪, 5418 阅读, 0 推荐, 收藏, 编辑
摘要:结构体的第三行就是构造函数,可以进行new ListNode(a[i])这样的构造 阅读全文

pat 1051Pop Sequence

2018-09-14 00:48 by legend聪, 168 阅读, 0 推荐, 收藏, 编辑
摘要:模拟栈的过程,一开始我是用的cin来判断每行的每一个数字,然后判断回车结束。有一个点会超时,答案用数组先记录序列的方法非常好。有一个注意点就是访问s.top()的时候先要保证s。size()>0,这点和数组是一样的。 阅读全文

pat1022 Digital Library

2018-09-12 17:47 by legend聪, 252 阅读, 0 推荐, 收藏, 编辑
摘要:这道题麻烦是麻烦点,思路倒是还算简单。 比较坑的就是最后要用07d%打印。 还学到了一个挺重要的东西,就是如何读取一行输入中的连续字符串。 阅读全文

pat1100 Mars Numbers

2018-09-10 12:14 by legend聪, 231 阅读, 0 推荐, 收藏, 编辑
摘要:数据不多,所以用打表法完成.getline(cin,str)是读取一行,注意用getchar回收上面scanf结束的回车。cin以空格为结尾,getline以回车作为结尾(因为是读取一整行). 用stringstream来完成字符串到int的转化过程. 题面信息复制复制复制否则太容易错了。 阅读全文

string和int的相互转换方法

2018-09-09 21:02 by legend聪, 305 阅读, 0 推荐, 收藏, 编辑
摘要:string转为int int转为string 阅读全文