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 right;
|
||||||
|
|
||||||
TreeNode(int x) {
|
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