- 博客(6)
- 收藏
- 关注
原创 Leetcde234回文链表
从中间点开始进行翻转。 class Solution { public: ListNode* reverse(ListNode *head) { if(!head || !head->next){ return head; } ListNode *p = reverse(head->next); ...
2018-10-13 21:37:34
89
原创 Leetcode206反转链表
方法一:迭代法,注意三个指针的初始化 class Solution { public: ListNode *reverseList(ListNode *head) { ListNode first = nullptr; ListNode second = head; ListNode third = nullptr; ...
2018-10-13 20:51:17
111
原创 Leetcode876.链表的中间节点
设置一个快指针,一个慢指针,并且快指针的步长为慢指针的两倍,当快指针到达结尾时,慢指针一定在中间。 class Solution { public: ListNode* middleNode(ListNode* head) { ListNode *sp = head; ListNode *fp = head; while(fp &&a...
2018-10-11 21:00:46
689
原创 Leetcode160.相交链表
解法一:用一个集合去判断 class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if(!headA || !headB){ return nullptr; } set<ListNode ...
2018-10-09 20:33:55
112
原创 Leetcode141.环形链表
快慢指针解法: 设置一个块指针和一个慢指针,如果链表中有环,则快慢指针均在环中循环,一定会出现慢指针追上快指针的结果。 class Solution { public: bool hasCycle(ListNode *head) { if(!head || !head->next){ return false; } ...
2018-10-09 19:53:34
62
原创 leetcode205同构字符串
给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 输入: s = “egg”, t = “add” 输出: true 示例 2: 输入: s = “foo”, t = “bar” 输出: false 示...
2018-09-25 19:09:59
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人