Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 原题链接:https://leetcode.com/problems/merge-two-sorted-lists/ 思路 就遍历一遍,比较大小依次插入新链表。注意一下某一个链表为空的状态,或者先遍历完。 代码(C) /** * Def…

2016年9月16日 0条评论 0点热度 阅读全文

Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5. Note: Given n wil…

2016年9月16日 0条评论 0点热度 阅读全文

141、 Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space? 思路 非常简单的一道题,如果链表有环,则在遍历的时候永远不会结束,一直在环内转圈。 所以,设置快慢指针,如果相遇,则说明有环。 代码(C++) /** * Definition for singly-linked list. * struct List…

2016年9月11日 0条评论 0点热度 阅读全文

Reverse a singly linked list. 思路 链表反转。有递归和非递归两种方法。在前面一篇文章《链表操作》中已经有介绍,这里就不多说了。 代码(C++) * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { if (NULL …

2016年9月11日 0条评论 0点热度 阅读全文

Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL. 思路 两种方法:1、先组成环,再断开;2、先断开,再链接。 代码(方法1 C) /** * Definition for singly-lin…

2016年9月7日 0条评论 7点热度 阅读全文

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->3->3->4->4->5, return 1->2->5. Given 1->1->1->2->3, return 2->3. 思路 …

2016年9月5日 0条评论 0点热度 阅读全文

Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. 思路 if cur->val == cur->next->val delete cur->next 代码…

2016年9月5日 0条评论 0点热度 阅读全文

Write a function that takes a string as input and returns the string reversed. Example: Given s = "hello", return "olleh". 思路 太简单了吧,没啥好说的 代码(C语言) class Solution { public: string reverseString(string s) { int start_idx = 0; int end_idx = s.size() - 1; while (st…

2016年9月5日 0条评论 6点热度 阅读全文

Given a positive integer num, write a function which returns True if num is a perfect square else False. Note: Do not use any built-in library function such as sqrt. Example 1: Input: 16 Returns: True Example 2: Input: 14 Returns: False 思路 有两种方法: 1、利用完全平方数的性质 …

2016年9月5日 0条评论 0点热度 阅读全文

Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1. examples: s = "leetcode" return 0. s = "loveleetcode", return 2. Note: You may assume the string contain only lowercase letters. 思路 首先统计每个字符的出现次…

2016年9月2日 0条评论 0点热度 阅读全文