排序:
默认
按更新时间
按访问量
RSS订阅

【剑指offer】-从尾到头打印链表

题目:输入一个链表,从尾到头打印链表每个节点的值。 解析:这道题目可以有很多种解法,下面介绍几种自己的解法。 1)利用栈的特性来做,把链表结点依次压入栈,再依次打印出来即可。 2)利用递归来做。 3)把链表反转,再从头到尾打印。 4)利用STL中的vector来做,把链表结点全部存入到v...

2015-11-02 22:01:44

阅读数 703

评论数 0

【剑指offer】-替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解析:如果从前往后替换字符串中的空格,则每次替换,都要把空格后的字符向后挪动相应的位置。这样,时间复杂度会很高。在此,我们可以换个思路,...

2015-11-02 15:04:09

阅读数 1491

评论数 0

【剑指offer】-二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如:下面的数组  1     2      8       9  2     4      9       12  4   ...

2015-10-31 11:04:48

阅读数 483

评论数 0

【leetcode每日一题】235.Lowest Common Ancestor of a Binary Search Tree

题目:Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. 解析:二分搜索树的性质是根节点的值要大于左孩子节点的值,小于右子孩子节点的值。根据这...

2015-09-14 20:09:43

阅读数 474

评论数 0

【算法学习笔记】-动态规划

动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)。在这种情况下,分治法会做许多不必要的工作,它会反复地求解那些公共子子问题。而动态规划算法对每个子子问题只求解一次,将其解保存在一个表格中,从而无需每次求解一个子子问题时都重新计算...

2015-09-11 18:44:07

阅读数 1410

评论数 0

【leetcode每日一题】226.Invert Binary Tree

Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 解析:交换左右孩子结点,依次遍历整棵树。代码...

2015-09-11 12:30:53

阅读数 400

评论数 0

【leetcode每日一题】100.same treet

题目: Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally ...

2015-09-10 20:35:17

阅读数 508

评论数 0

【leetcode每日一题】104.Maximum Depth of Binary Tree

题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the far...

2015-09-09 20:02:16

阅读数 684

评论数 0

【leetcode每日一题】23.Merge k Sorted Lists

题目:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 解析:可以先归并两个链表,然后依次归并所有链表。代码如下: /** * Defini...

2015-09-01 20:55:07

阅读数 584

评论数 0

【leetcode每日一题】138.Copy List with Random Pointer

题目: A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return ...

2015-09-01 16:35:41

阅读数 802

评论数 0

【leetcode每日一题】237.Delete Node in a Linked List

题目: Write a function to delete a node (except the tail) in a singly linked list, given only access to that node. Supposed the linked list is 1 ...

2015-09-01 14:55:52

阅读数 638

评论数 0

【leetcode每日一题】2.Add Two Numbers

题目: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a...

2015-09-01 14:48:10

阅读数 577

评论数 0

【leetcode每日一题】Reorder List

题目: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' val...

2015-09-01 14:37:50

阅读数 859

评论数 0

【leetcode每日一题】61.Rotate List

题目: 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 = ...

2015-09-01 12:52:42

阅读数 465

评论数 0

【leetcode每日一题】234.Palindrome Linked List

题目: Given a singly linked list, determine if it is a palindrome. Follow up: Could you do it in O(n) time and O(1) space? 解析: 方法一:如果不考虑空间复杂度,则可以直接...

2015-09-01 12:32:14

阅读数 527

评论数 0

【leetcode每日一题】148.sort List

题目:Sort a linked list in O(n log n) time using constant space complexity. 解析:题目要求是对链表进行排序,但是复杂度不能超过O(nlgn)。符合题意的常见排序方法有快排、归并排序和堆排序。以下是用归并排序解决此题的步骤...

2015-09-01 11:30:17

阅读数 817

评论数 1

【leetcode每日一题】82.Remove Duplicates from Sorted List II

题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For examp...

2015-09-01 10:49:23

阅读数 1368

评论数 1

【leetcode每日一题】25.Reverse Nodes in k-Group

题目: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multi...

2015-09-01 09:35:40

阅读数 969

评论数 2

【leetcode每日一题】203.Remove Linked List Elements

题目: Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --...

2015-08-31 22:19:18

阅读数 601

评论数 0

【leetcode每日一题】24.Swap Nodes in Pairs

题目: Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2...

2015-08-31 22:10:21

阅读数 551

评论数 0

提示
确定要删除当前文章?
取消 删除