diff --git a/ StringReverse.java b/ StringReverse.java deleted file mode 100644 index b394a67..0000000 --- a/ StringReverse.java +++ /dev/null @@ -1,17 +0,0 @@ -public class StringReverse { - // 字符串反转 数组双指针解法 - // String无法直接操作内部的char数组,避免不了2倍内存开销 - public static void main(String[] args) { - String str = "1234567"; - char[] chars = str.toCharArray(); - int len = chars.length; - char x, y; - for (int index = 0, mid = len >> 1, end = len - 1; index < mid; index++, end--) { - x = chars[index]; - y = chars[end]; - chars[index] = y; - chars[end] = x; - } - System.out.println(new String(chars)); - } -} diff --git a/ArrayReverse.java b/ArrayReverse.java deleted file mode 100644 index 7c7fc99..0000000 --- a/ArrayReverse.java +++ /dev/null @@ -1,21 +0,0 @@ -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class ArrayReverse { - // ArrayList 反转元素 - // 双指针解法 - // 出自 java.util.Collections#reverse - public static void main(String[] args) { - List list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7)); - int size = list.size(); - Integer x, y; - for (int begin = 0, mid = size >> 1, end = size - 1; begin < mid; begin++, end--) { - x = list.get(begin); - y = list.get(end); - list.set(begin, y); - list.set(end, x); - } - System.out.println(list); - } -} diff --git a/InOrderTraversal.java b/InOrderTraversal.java index 88f80f4..18c2c58 100644 --- a/InOrderTraversal.java +++ b/InOrderTraversal.java @@ -27,7 +27,7 @@ public class InOrderTraversal { TreeNode right; TreeNode(int x) { - val = x; + this.val = x; } } diff --git a/ReverseElements.java b/ReverseElements.java new file mode 100644 index 0000000..7776a0a --- /dev/null +++ b/ReverseElements.java @@ -0,0 +1,36 @@ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ReverseElements { + + // 双指针 ArrayList 反转元素 出自 java.util.Collections#reverse + public static void array() { + List list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7)); + int size = list.size(); + Integer x, y; + for (int begin = 0, mid = size >> 1, end = size - 1; begin < mid; begin++, end--) { + x = list.get(begin); + y = list.get(end); + list.set(begin, y); + list.set(end, x); + } + System.out.println(list); + } + + // 双指针反转字符串 String无法直接操作内部的char数组 避免不了2倍内存开销 + public static void main(String[] args) { + String str = "1234567"; + char[] chars = str.toCharArray(); + int len = chars.length; + char x, y; + for (int index = 0, mid = len >> 1, end = len - 1; index < mid; index++, end--) { + x = chars[index]; + y = chars[end]; + chars[index] = y; + chars[end] = x; + } + System.out.println(new String(chars)); + } + +}