- 博客(3)
- 收藏
- 关注
原创 算法之反转链表
问题很简单:反转一个链表。其实就是对链表的基础操作,思路是顺着链表头结点的next指针遍历整个链表。假设链表前三个节点分别为A、B、C。1.A->next = C;2.B->next = A;以A的next节点作为判断依据即可遍历整个链表并实现前后两个节点的指针反转。虽然思路很简单,但写的时候发现C的快忘得差不多了,为了复习C我在C++工程中完全以C的代码实现的。诸如new方法我用
2016-10-25 23:27:01 319
原创 算法之将字符串的部分移动
算法题:给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 最开始想到的就是将整个数组前移两次。符合空间复杂度O(1)。#includeusing namesp
2016-10-17 23:14:16 614
原创 算法之字符串选出第一个只出现一次的字符
好久没写了...最近打算恢复博客,尽力而为吧。给出一串字符串,返回第一个只出现一次的字符。如:输入:aabbccddeff返回:f最先想到了就是将每个字符都与所有字符对比一遍,不存在相同的则输出,时间复杂度显然是o(n2)。当时看到这道谷歌的面试题时,我想到前几天看到用异或比较二进制从而解决两个对象是否相同的问题。但异或只有偶数个相同的值才能得0,奇数个相同的值得他本身,在这道
2016-10-14 13:35:50 1085 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人