From 6ebb83fe47831d67f590ca3b5aa433d091bf6317 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sun, 27 Oct 2019 17:57:35 +0800 Subject: [PATCH] auto commit --- docs/notes/Leetcode 题解 - 双指针.md | 12 +++++++++++- .../399b459d-db9e-4e77-b879-e6492c7d382b.gif | Bin 0 -> 30492 bytes .../a7cb8423-895d-4975-8ef8-662a0029c772.png | Bin 0 -> 13875 bytes notes/Leetcode 题解 - 双指针.md | 12 +++++++++++- .../399b459d-db9e-4e77-b879-e6492c7d382b.gif | Bin 0 -> 30492 bytes .../a7cb8423-895d-4975-8ef8-662a0029c772.png | Bin 0 -> 13875 bytes 6 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 docs/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif create mode 100644 docs/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png create mode 100644 notes/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif create mode 100644 notes/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png diff --git a/docs/notes/Leetcode 题解 - 双指针.md b/docs/notes/Leetcode 题解 - 双指针.md index f595ca46..471cc0bd 100644 --- a/docs/notes/Leetcode 题解 - 双指针.md +++ b/docs/notes/Leetcode 题解 - 双指针.md @@ -102,13 +102,23 @@ Explanation: 1 * 1 + 2 * 2 = 5 Given s = "leetcode", return "leotcede". ``` -使用双指针指向待反转的两个元音字符,一个指针从头向尾遍历,一个指针从尾到头遍历。 +

+ +使用双指针,一个指针从头向尾遍历,一个指针从尾到头遍历,当两个指针都遍历到元音字符时,交换这两个元音字符。 + +为了快速判断一个字符是不是元音字符,我们将全部元音字符添加到集合 HashSet 中,从而以 O(1) 的时间复杂度进行该操作。 + +- 时间复杂度为 O(N):只需要遍历所有元素一次 +- 空间复杂度 O(1):只需要使用两个额外变量 + +

```java private final static HashSet vowels = new HashSet<>( Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')); public String reverseVowels(String s) { + if (s == null) return null; int i = 0, j = s.length() - 1; char[] result = new char[s.length()]; while (i <= j) { diff --git a/docs/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif b/docs/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif new file mode 100644 index 0000000000000000000000000000000000000000..66d52391eff6993eeb9329e4c04f3b46850e1ff1 GIT binary patch literal 30492 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Þl?WM}hYP{{}7&Tp75; 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 Cy?adn literal 0 HcmV?d00001 diff --git a/docs/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png b/docs/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png new file mode 100644 index 0000000000000000000000000000000000000000..29f9d362b2ae22ef516ca03a608125c0690e157a GIT binary patch literal 13875 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
+ +使用双指针,一个指针从头向尾遍历,一个指针从尾到头遍历,当两个指针都遍历到元音字符时,交换这两个元音字符。 + +为了快速判断一个字符是不是元音字符,我们将全部元音字符添加到集合 HashSet 中,从而以 O(1) 的时间复杂度进行该操作。 + +- 时间复杂度为 O(N):只需要遍历所有元素一次 +- 空间复杂度 O(1):只需要使用两个额外变量 + +

```java private final static HashSet vowels = new HashSet<>( Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')); public String reverseVowels(String s) { + if (s == null) return null; int i = 0, j = s.length() - 1; char[] result = new char[s.length()]; while (i <= j) { diff --git a/notes/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif b/notes/pics/399b459d-db9e-4e77-b879-e6492c7d382b.gif new file mode 100644 index 0000000000000000000000000000000000000000..66d52391eff6993eeb9329e4c04f3b46850e1ff1 GIT binary patch literal 30492 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
%7c=}9>_t^jdgag_opdVeo_VhYy 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Þl?WM}hYP{{}7&Tp75; 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 Cy?adn literal 0 HcmV?d00001 diff --git a/notes/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png b/notes/pics/a7cb8423-895d-4975-8ef8-662a0029c772.png new file mode 100644 index 0000000000000000000000000000000000000000..29f9d362b2ae22ef516ca03a608125c0690e157a GIT binary patch literal 13875 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