add
This commit is contained in:
parent
10de7e7ec1
commit
36827f0837
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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<Integer> 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);
|
||||
}
|
||||
}
|
||||
@ -27,7 +27,7 @@ public class InOrderTraversal {
|
||||
TreeNode right;
|
||||
|
||||
TreeNode(int x) {
|
||||
val = x;
|
||||
this.val = x;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
36
ReverseElements.java
Normal file
36
ReverseElements.java
Normal file
@ -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<Integer> 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));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user