
程序员面试金典
奋斗不悔
这个作者很懒,什么都没留下…
展开
-
输出链表倒数第k个结点
输入一个链表,输出该链表的倒数第k个结点。解题思路:利用快慢指针解答。struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};class Solution {public: ListNode* FindKthToTail(ListNo原创 2017-04-18 07:39:18 · 223 阅读 · 0 评论 -
翻转子串
假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。题外补充:string中的find函数。原创 2017-04-18 07:46:48 · 535 阅读 · 0 评论 -
删除单链表某个结点
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true。思路:将后续结点复制到当前结点,删除后续结点,相当于删除当前结点。struct ListNode { int val; struct ListNode *next; ListNode(int x) : v原创 2017-04-18 08:33:28 · 542 阅读 · 0 评论 -
回文链表判断
题目:123454321,为回文串判断已知链表是否是回文链表。struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Palindrome {public: bool isPalindrome(List原创 2017-08-07 15:57:28 · 602 阅读 · 0 评论