From a2cf6fc9f944a8fa2983f07d7f3e8c452f9bd24d Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Sat, 17 Mar 2018 10:34:17 +0800
Subject: [PATCH] auto commit
---
notes/剑指 offer 题解.md | 137 ++++++++++++------
pics/35b0caf8-6f34-49db-93ed-d505e9eb3d99.png | Bin 0 -> 32768 bytes
2 files changed, 94 insertions(+), 43 deletions(-)
create mode 100644 pics/35b0caf8-6f34-49db-93ed-d505e9eb3d99.png
diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md
index 0fb7b054..6173bec4 100644
--- a/notes/剑指 offer 题解.md
+++ b/notes/剑指 offer 题解.md
@@ -1,5 +1,6 @@
-* [第二章 面试需要的基础知识](#第二章-面试需要的基础知识)
+* [前言](#前言)
+* [面试需要的基础知识](#面试需要的基础知识)
* [2. 实现 Singleton](#2-实现-singleton)
* [3. 数组中重复的数字](#3-数组中重复的数字)
* [4. 二维数组中的查找](#4-二维数组中的查找)
@@ -17,7 +18,7 @@
* [13. 机器人的运动范围](#13-机器人的运动范围)
* [14. 剪绳子](#14-剪绳子)
* [15. 二进制中 1 的个数](#15-二进制中-1-的个数)
-* [第三章 高质量的代码](#第三章-高质量的代码)
+* [高质量的代码](#高质量的代码)
* [16. 数值的整数次方](#16-数值的整数次方)
* [17. 打印从 1 到最大的 n 位数](#17-打印从-1-到最大的-n-位数)
* [18.1 在 O(1) 时间内删除链表节点](#181-在-o1-时间内删除链表节点)
@@ -30,7 +31,7 @@
* [24. 反转链表](#24-反转链表)
* [25. 合并两个排序的链表](#25-合并两个排序的链表)
* [26. 树的子结构](#26-树的子结构)
-* [第四章 解决面试题的思路](#第四章-解决面试题的思路)
+* [解决面试题的思路](#解决面试题的思路)
* [27. 二叉树的镜像](#27-二叉树的镜像)
* [28.1 对称的二叉树](#281-对称的二叉树)
* [28.2 平衡二叉树](#282-平衡二叉树)
@@ -46,7 +47,7 @@
* [36. 二叉搜索树与双向链表](#36-二叉搜索树与双向链表)
* [37. 序列化二叉树](#37-序列化二叉树)
* [38. 字符串的排列](#38-字符串的排列)
-* [第五章 优化时间和空间效率](#第五章-优化时间和空间效率)
+* [优化时间和空间效率](#优化时间和空间效率)
* [39. 数组中出现次数超过一半的数字](#39-数组中出现次数超过一半的数字)
* [40. 最小的 K 个数](#40-最小的-k-个数)
* [41.1 数据流中的中位数](#411-数据流中的中位数)
@@ -62,7 +63,7 @@
* [50. 第一个只出现一次的字符位置](#50-第一个只出现一次的字符位置)
* [51. 数组中的逆序对](#51-数组中的逆序对)
* [52. 两个链表的第一个公共结点](#52-两个链表的第一个公共结点)
-* [第六章 面试中的各项能力](#第六章-面试中的各项能力)
+* [面试中的各项能力](#面试中的各项能力)
* [53 数字在排序数组中出现的次数](#53-数字在排序数组中出现的次数)
* [54. 二叉搜索树的第 k 个结点](#54-二叉搜索树的第-k-个结点)
* [55 二叉树的深度](#55-二叉树的深度)
@@ -79,13 +80,29 @@
* [64. 求 1+2+3+...+n](#64-求-1+2+3++n)
* [65. 不用加减乘除做加法](#65-不用加减乘除做加法)
* [66. 构建乘积数组](#66-构建乘积数组)
-* [第七章 两个面试案例](#第七章-两个面试案例)
+* [两个面试案例](#两个面试案例)
* [67. 把字符串转换成整数](#67-把字符串转换成整数)
* [68. 树中两个节点的最低公共祖先](#68-树中两个节点的最低公共祖先)
-# 第二章 面试需要的基础知识
+# 前言
+
+**变量命名规范**
+
+- nums 表示数组,matrix 表示矩阵;
+- n 表示数组长度、字符串长度、树节点个数,以及其它具有一维性质的数据结构的元素个数;
+- m, n 表示矩阵的行数和列数;
+- first, last 表示闭区间:[first, last];
+- begin, end 表示左闭右开区间:[begin, end);
+- l, h 表示二分查找的闭区间:[l, h];
+- ret 表示和结果相关的变量;
+
+**复杂度简写说明**
+
+O(nlogn) + O(n2),第一个指时间复杂度,第二个指空间复杂度。
+
+# 面试需要的基础知识
## 2. 实现 Singleton
@@ -114,6 +131,8 @@ position-2 : (0,1,1,3,2,5) // nums[i] == nums[nums[i]], exit
遍历到位置 2 时,该位置上的数为 1,但是第 1 个位置上已经有一个 1 的值了,因此可以知道 1 重复。
+复杂度:O(n) + O(1)
+
```java
public boolean duplicate(int[] nums, int length, int[] duplication) {
if (nums == null || length <= 0) return false;
@@ -141,26 +160,34 @@ private void swap(int[] nums, int i, int j) {
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
```html
+Consider the following matrix:
[
- [ 1, 5, 9],
- [10, 11, 13],
- [12, 13, 15]
+ [1, 4, 7, 11, 15],
+ [2, 5, 8, 12, 19],
+ [3, 6, 9, 16, 22],
+ [10, 13, 14, 17, 24],
+ [18, 21, 23, 26, 30]
]
+
+Given target = 5, return true.
+Given target = 20, return false.
```
**解题思路**
从右上角开始查找。因为矩阵中的一个数,它左边的数都比它来的小,下边的数都比它来的大。因此,从右上角开始查找,就可以根据 target 和当前元素的大小关系来改变行和列的下标,从而缩小查找区间。
+复杂度:O(m + n) + O(1)
+
```java
-public boolean Find(int target, int [][] array) {
- if (array == null || array.length == 0 || array[0].length == 0) return false;
- int m = array.length, n = array[0].length;
- int row = 0, col = n - 1;
- while (row < m && col >= 0) {
- if (target == array[row][col]) return true;
- else if (target < array[row][col]) col--;
- else row++;
+public boolean Find(int target, int[][] matrix) {
+ if (matrix == null || matrix.length == 0 || matrix[0].length == 0) return false;
+ int m = matrix.length, n = matrix[0].length;
+ int r = 0, c = n - 1; // 从右上角开始
+ while (r <= m - 1 && c >= 0) {
+ if (target == matrix[r][c]) return true;
+ else if (target > matrix[r][c]) r++;
+ else c--;
}
return false;
}
@@ -172,33 +199,37 @@ public boolean Find(int target, int [][] array) {
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为 We Are Happy. 则经过替换之后的字符串为 We%20Are%20Happy。
-**题目要求**
-
-以 O(1) 的空间复杂度和 O(n) 的时间复杂度来求解。
-
**解题思路**
-从后向前改变字符串。
+现在字符串尾部填充任意字符,使得字符串的长度等于将字符串替换之后的长度。因为一个空格要替换成三个字符(%20),因此当遍历到一个空格时,需要在尾部填充两个任意字符。
+
+令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 从后向前遍历,当遍历到一个空格时,就需要令 P2 指向的位置填充 02%(注意是逆序的),否则就填充上 P1 指向字符的值。
+
+从后向前遍历时为了在改变 P2 所指向的内容时,不会影响到 P1 遍历原来字符串的内容。
+
+复杂度:O(n) + O(1)
+
+
```java
public String replaceSpace(StringBuffer str) {
- int n = str.length();
- for (int i = 0; i < n; i++) {
+ int oldLen = str.length();
+ for (int i = 0; i < oldLen; i++) {
if (str.charAt(i) == ' ') {
- str.append(" "); // 尾部填充两个
+ str.append(" ");
}
}
- int idxOfOriginal = n - 1;
+ int idxOfOld = oldLen - 1;
int idxOfNew = str.length() - 1;
- while (idxOfOriginal >= 0 && idxOfNew > idxOfOriginal) {
- if (str.charAt(idxOfOriginal) == ' ') {
+ while (idxOfOld >= 0 && idxOfNew > idxOfOld) {
+ char c = str.charAt(idxOfOld--);
+ if (c == ' ') {
str.setCharAt(idxOfNew--, '0');
str.setCharAt(idxOfNew--, '2');
str.setCharAt(idxOfNew--, '%');
} else {
- str.setCharAt(idxOfNew--, str.charAt(idxOfOriginal));
+ str.setCharAt(idxOfNew--, c);
}
- idxOfOriginal--;
}
return str.toString();
}
@@ -262,14 +293,15 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
- ListNode head = new ListNode(-1); // 头结点
- ListNode cur = listNode;
- while (cur != null) {
- ListNode next = cur.next;
- cur.next = head.next;
- head.next = cur;
- cur = next;
+ // 头插法构建逆序链表
+ ListNode head = new ListNode(-1);
+ while (listNode != null) {
+ ListNode memo = listNode.next;
+ listNode.next = head.next;
+ head.next = listNode;
+ listNode = memo;
}
+ // 构建 ArrayList
ArrayList ret = new ArrayList<>();
head = head.next;
while (head != null) {
@@ -286,6 +318,25 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
根据二叉树的前序遍历和中序遍历的结果,重建出该二叉树。
+```html
+For example, given
+
+preorder = [3,9,20,15,7]
+inorder = [9,3,15,20,7]
+
+Return the following binary tree:
+
+ 3
+ / \
+ 9 20
+ / \
+ 15 7
+```
+
+**解题思路**
+
+中序遍历的第一个值为树根节点的值,使用这个值将前序遍历结果分成两部分,左部分为树的左子树前序遍历结果,右部分为树的右子树前序遍历的结果。
+
```java
public TreeNode reConstructBinaryTree(int[] pre, int[] in) {
return reConstructBinaryTree(pre, 0, pre.length - 1, in, 0, in.length - 1);
@@ -614,7 +665,7 @@ public int NumberOf1(int n) {
}
```
-# 第三章 高质量的代码
+# 高质量的代码
## 16. 数值的整数次方
@@ -958,7 +1009,7 @@ private boolean isSubtree(TreeNode root1, TreeNode root2) {
}
```
-# 第四章 解决面试题的思路
+# 解决面试题的思路
## 27. 二叉树的镜像
@@ -1419,7 +1470,7 @@ private void backtracking(char[] chars, boolean[] hasUsed, StringBuffer s) {
}
```
-# 第五章 优化时间和空间效率
+# 优化时间和空间效率
## 39. 数组中出现次数超过一半的数字
@@ -1900,7 +1951,7 @@ public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
}
```
-# 第六章 面试中的各项能力
+# 面试中的各项能力
## 53 数字在排序数组中出现的次数
@@ -2323,7 +2374,7 @@ public int[] multiply(int[] A) {
}
```
-# 第七章 两个面试案例
+# 两个面试案例
## 67. 把字符串转换成整数
diff --git a/pics/35b0caf8-6f34-49db-93ed-d505e9eb3d99.png b/pics/35b0caf8-6f34-49db-93ed-d505e9eb3d99.png
new file mode 100644
index 0000000000000000000000000000000000000000..71505568370acd19e306d4e042bdf4f09fb5820a
GIT binary patch
literal 32768
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
literal 0
HcmV?d00001