Skip to content

Commit 7e64a1a

Browse files
author
wb-hjk570755
committed
跳阶梯
1 parent fb0dfb7 commit 7e64a1a

9 files changed

+306
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.blankj.concurrent;
2+
3+
/**
4+
* Description:
5+
* Copyright: Copyright (c) 2012
6+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
7+
*
8+
* @author huangjk
9+
* @version 1.0 2020/9/22
10+
*/
11+
public class BoundedQueue {
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.blankj.myself;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* Description:
8+
* Copyright: Copyright (c) 2012
9+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
10+
*
11+
* @author huangjk
12+
* @version 1.0 2020/9/14
13+
*/
14+
public class InorderTraversal {
15+
public static void main(String[] args) {
16+
17+
}
18+
19+
20+
public List<Integer> inorderTraversal(TreeNode root) {
21+
List<Integer> list = new ArrayList<>();
22+
dfs(root,list);
23+
return list;
24+
}
25+
26+
public void dfs(TreeNode root,List<Integer> list) {
27+
if(root==null){
28+
return;
29+
}
30+
dfs(root.left,list);
31+
list.add(root.val);
32+
dfs(root.right,list);
33+
}
34+
35+
36+
37+
public class TreeNode {
38+
int val;
39+
TreeNode left;
40+
TreeNode right;
41+
TreeNode(int x) { val = x; }
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.blankj.myself;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.Stack;
6+
7+
import com.blankj.myself.InorderTraversal.TreeNode;
8+
9+
/**
10+
* Description:
11+
* Copyright: Copyright (c) 2012
12+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
13+
*
14+
* @author huangjk
15+
* @version 1.0 2020/9/14
16+
*/
17+
public class InorderTraversalByStack {
18+
19+
public List<Integer> inorderTraversal(TreeNode root) {
20+
List<Integer> list = new ArrayList<>();
21+
Stack stack = new Stack();
22+
TreeNode curr = root;
23+
while (curr!=null||!stack.isEmpty()){
24+
if(curr!=null){
25+
stack.push(curr.left);
26+
curr = curr.left;
27+
}else {
28+
curr = (TreeNode) stack.pop();
29+
list.add(curr.val);
30+
curr = curr.right;
31+
}
32+
}
33+
return list;
34+
}
35+
}
+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.blankj.myself;
2+
3+
/**
4+
* Description:
5+
* Copyright: Copyright (c) 2012
6+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
7+
*
8+
* @author huangjk
9+
* @version 1.0 2020/9/21
10+
*/
11+
public class IsPalindrome {
12+
public static void main(String[] args) {
13+
IsPalindrome isPalindrome = new IsPalindrome();
14+
System.out.println(isPalindrome.isPalindrome(1001));
15+
}
16+
public boolean isPalindrome(int x) {
17+
boolean isPalindrome = true;
18+
String xStr = String.valueOf(x);
19+
20+
for (int i=0;i<xStr.length()/2;i++){
21+
if(xStr.charAt(i)!=xStr.charAt(xStr.length()-i-1)){
22+
isPalindrome = false;
23+
}
24+
}
25+
return isPalindrome;
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.blankj.myself;
2+
3+
/**
4+
* Description:
5+
* Copyright: Copyright (c) 2012
6+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
7+
*
8+
* @author huangjk
9+
* @version 1.0 2020/9/22
10+
*/
11+
public class LongestCommonPrefix {
12+
13+
public String longestCommonPrefix(String[] strs) {
14+
String result = new String();
15+
String first = strs[0];
16+
if(first==null){
17+
return "";
18+
}
19+
for(int j=0;j<first.length();j++){
20+
boolean end = false;
21+
char b = first.charAt(j);
22+
for(int i=1;i<strs.length;i++){
23+
String a = strs[i];
24+
if(first.charAt(i)!=b){
25+
end = true;
26+
break;
27+
}
28+
}
29+
result = result+b;
30+
if(end==true){
31+
break;
32+
}
33+
}
34+
return result;
35+
}
36+
}
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.blankj.myself;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
/**
7+
* Description:
8+
* Copyright: Copyright (c) 2012
9+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
10+
*
11+
* @author huangjk
12+
* @version 1.0 2020/9/16
13+
*/
14+
public class RebuildTree {
15+
16+
17+
public TreeNode buildTree(int[] preorder, int[] inorder) {
18+
Map indexMap = new HashMap<Integer,Integer>();
19+
for (int i = 0; i < preorder.length; i++) {
20+
indexMap.put(inorder[i],i);
21+
}
22+
return reBuildTree(0,0,inorder.length-1,preorder,inorder,indexMap);
23+
}
24+
25+
26+
public TreeNode reBuildTree(int preRootIndex, int inorderLeftIndex,int inorderRightIndex,int[] preorder, int[] inorder,Map indexMap) {
27+
if(inorderLeftIndex>=inorderRightIndex){
28+
return null;
29+
}
30+
int index = (int)indexMap.get(preorder[preRootIndex]);
31+
TreeNode treeNode = new TreeNode(preorder[preRootIndex]);
32+
treeNode.left = reBuildTree(preRootIndex+1,inorderLeftIndex,index-1,preorder,inorder,indexMap);
33+
treeNode.right = reBuildTree(preRootIndex+index-inorderLeftIndex+1,index+1,inorderRightIndex,preorder,inorder,indexMap);
34+
return treeNode;
35+
}
36+
37+
38+
39+
public class TreeNode {
40+
int val;
41+
TreeNode left;
42+
TreeNode right;
43+
TreeNode(int x) { val = x; }
44+
}
45+
}

src/com/blankj/myself/RomanToInt.java

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.blankj.myself;
2+
3+
/**
4+
* Description:
5+
* Copyright: Copyright (c) 2012
6+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
7+
*
8+
* @author huangjk
9+
* @version 1.0 2020/9/21
10+
*/
11+
public class RomanToInt {
12+
public int romanToInt(String s) {
13+
int sum = 0;
14+
int pre = cast(s.charAt(0));
15+
for(int i=1;i<s.length();i++){
16+
int cuur = cast(s.charAt(i));
17+
if(pre<cuur){
18+
sum = sum -pre;
19+
}else {
20+
sum = sum +pre;
21+
}
22+
pre = cuur;
23+
}
24+
sum = sum + cast(s.charAt(s.length()-1));
25+
return sum;
26+
}
27+
28+
private int cast(char i){
29+
switch (i){
30+
case('I'):return 1;
31+
case('V'):return 5;
32+
case('X'):return 10;
33+
case('L'):return 50;
34+
case('C'):return 100;
35+
case('D'):return 500;
36+
case('M'):return 1000;
37+
default:return 0;
38+
}
39+
40+
}
41+
}

src/com/blankj/myself/Test.java

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.blankj.myself;
2+
3+
/**
4+
* Description:
5+
* Copyright: Copyright (c) 2012
6+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
7+
*
8+
* @author huangjk
9+
* @version 1.0 2020/9/10
10+
*/
11+
public class Test {
12+
public static void main(String[] args) {
13+
Test a = new Test();
14+
}
15+
}

src/com/blankj/myself/ThreeSum.java

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.blankj.myself;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
7+
/**
8+
* Description:
9+
* Copyright: Copyright (c) 2012
10+
* Company: keruyun Technology(Beijing) Chengdu Co. Ltd.
11+
*
12+
* @author huangjk
13+
* @version 1.0 2020/9/21
14+
*/
15+
public class ThreeSum {
16+
public List<List<Integer>> threeSum(int[] nums) {
17+
List<List<Integer>> result = new ArrayList<>();
18+
Arrays.sort(nums);
19+
int length = nums.length;
20+
for(int k=0;k<length-2;k++){
21+
if(nums[k]>0){
22+
return result;
23+
}
24+
if(k>0&&nums[k]==nums[k-1]){
25+
continue;
26+
}
27+
int L=k+1;
28+
int R=length-1;
29+
while (L<R){
30+
int sum = nums[k] + nums[L] + nums[R];
31+
if(sum==0){
32+
result.add(Arrays.asList(nums[k] , nums[L] , nums[R]));
33+
while (L<R &&nums[L]==nums[L+1]){
34+
L = L+1;
35+
}
36+
while (L<R &&nums[R]==nums[R-1]){
37+
R = R-1;
38+
}
39+
L = L+1;
40+
R = R-1;
41+
}
42+
if(sum < 0){
43+
L = L+1;
44+
}
45+
if(sum > 0){
46+
R = R-1;
47+
}
48+
}
49+
}
50+
return result;
51+
}
52+
}

0 commit comments

Comments
 (0)