摘要: 给出一棵二叉树,返回其节点值的后序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [3,2,1] 分析:后序遍历要比先序,中序要难一些。 后序是左右根。 /** * Definition of TreeNode: * class TreeNode { * public: 阅读全文
posted @ 2016-11-30 10:53 lelelelele 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3. 分析:递归 /** * Definition of TreeNode: * class TreeNode { * public: 阅读全文
posted @ 2016-11-29 21:23 lelelelele 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 给出一棵二叉树,返回其中序遍历 样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 挑战 你能使用非递归算法来实现么? 分析:同前序遍历。 /** * Definition of TreeNode: * class TreeNode { * public: * int 阅读全文
posted @ 2016-11-29 20:50 lelelelele 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 给出一棵二叉树,返回其节点值的前序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. 挑战 你能使用非递归实现么? 分析:使用非递归实现(栈) * Definition of TreeNode: * class TreeNode { * public: * 阅读全文
posted @ 2016-11-29 20:43 lelelelele 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序链表,删除所有重复的元素每个元素只留下一个。 样例 给出 1->1->2->null,返回 1->2->null 给出 1->1->2->3->3->null,返回 1->2->3->null 分析:先开始的时候是想着head 和head->next作为基准 但其实pre和cur更合适 阅读全文
posted @ 2016-11-28 22:23 lelelelele 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 样例 在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。 分析:下标最小的位置。。所以要找一个a. 阅读全文
posted @ 2016-11-28 21:35 lelelelele 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。 你的程序还需要返回被替换后的字符串的长度。 对于字符串"Mr John Smith", 长度为 13 替换空格之后,参数中的字符串需要变为"Mr%20John%20 阅读全文
posted @ 2016-11-28 20:41 lelelelele 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 分析: /** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next; * * 阅读全文
posted @ 2016-11-28 16:08 lelelelele 阅读(1230) 评论(0) 推荐(0) 编辑
摘要: 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null 法1:刚开始没看到是插入排序 用的冒泡法 /** * Definition of ListNode * class ListNode { * public: * int val 阅读全文
posted @ 2016-11-26 11:15 lelelelele 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 合并两个排序的整数数组A和B变成一个新的数组。 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 之前想的是用剑指offer里替换空格那种方法 但是把问题复杂化了 直接对比A.B 然后压到C里就行。 class Solution { public: 阅读全文
posted @ 2016-11-25 16:33 lelelelele 阅读(198) 评论(0) 推荐(0) 编辑