Skip to content

Commit a9e2364

Browse files
author
liwentian
committed
fd
1 parent 64a0e8c commit a9e2364

2 files changed

Lines changed: 1 addition & 47 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@
214214
|264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UglyNumberII.java)|70|
215215
|265|[Paint House II](https://leetcode.com/problems/paint-house-ii)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PaintHouseII.java)|60|
216216
|266|[Palindrome Permutation](https://leetcode.com/problems/palindrome-permutation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePermutation.java)|100|
217-
|267|[Palindrome Permutation II](https://leetcode.com/problems/palindrome-permutation-ii/)|||
217+
|267|[Palindrome Permutation II](https://leetcode.com/problems/palindrome-permutation-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePermutationII.java)|80|典型,多看两遍|
218218
|269|[Alien Dictionary](https://leetcode.com/problems/alien-dictionary/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AlienDictionary.java)|70|这题要多做几遍|
219219
|270|[Closest Binary Search Tree Value](https://leetcode.com/problems/closest-binary-search-tree-value/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValue.java)|90|
220220
|271|[Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EncodeAndDecodeStrings.java)|65|思路巧妙,多看几遍|

test/src/main/java/com/example/Main.java

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -27,52 +27,6 @@
2727
public class Main {
2828

2929
public static void main(String[] args) {
30-
List<String> list = generatePalindromes("a");
31-
for (String s : list) {
32-
System.out.println("(" + s+")");
33-
}
34-
}
35-
36-
public static List<String> generatePalindromes(String s) {
37-
int[] counts = new int[256];
38-
for (char c : s.toCharArray()) {
39-
counts[c]++;
40-
}
41-
List<String> list = new LinkedList<>();
42-
StringBuilder sb = new StringBuilder();
43-
char single = 0;
44-
for (int i = 0; i < counts.length; i++) {
45-
if (counts[i] % 2 != 0) {
46-
if (single != 0) {
47-
return list;
48-
}
49-
single = (char) i;
50-
counts[i] = ((counts[i] >> 1) << 1);
51-
}
52-
for (int j = 0; j < counts[i]; j += 2) {
53-
sb.append((char)i);
54-
}
55-
}
56-
57-
helper(sb, "" + (single != 0 ? single : ""), list);
58-
return list;
59-
}
60-
61-
private static void helper(StringBuilder sb, String cur, List<String> list) {
62-
if (sb.length() == 0) {
63-
list.add(cur);
64-
return;
65-
}
66-
67-
for (int i = 0; i < sb.length(); i++) {
68-
if (i > 0 && sb.charAt(i) == sb.charAt(i - 1)) {
69-
continue;
70-
}
71-
char c = sb.charAt(i);
72-
sb.deleteCharAt(i);
73-
helper(sb, c + cur + c, list);
74-
sb.insert(i, c);
75-
}
7630
}
7731
}
7832

0 commit comments

Comments
 (0)