我是真的笨啊,当时做不出来,第二天就做出来了
package LeetCode.easy;
import java.util.ArrayList;
import java.util.List;
/**
*
* 输入1-8
* 6
*输出1-5,6-7
* @author yilgao
*
*/
public class huaw2 {
//1,2,3,4,5,7,8
//12345,78
//1-5,7-8
public static void main(String[] args) {
toSplit("1-8,10,12,16-23,78-99","99");
}
public static void toSplit(String str1,String str2) {
String[] a = str1.split(",");
List<String> list = new ArrayList<>();
for(int i=0;i<a.length;i++) {
if(!a[i].contains("-")) {
list.add(a[i]);
}else {
String[] b = a[i].split("-");
for(int j=Integer.valueOf(b[0]);j<=Integer.valueOf(b[1]);j++) {
list.add(String.valueOf(j));
}
}
}
list.remove(str2);
List<String> templ = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(int m = 0;m<list.size();m++) {
if(m+1!=list.size()) {
if(Integer.valueOf(list.get(m+1))-Integer.valueOf(list.get(m))==1) {
templ.add(list.get(m));
}else {
templ.add(list.get(m));
if(templ.size()==1) {
sb.append(templ.get(0)).append(",");
}else {
sb.append(templ.get(0)).append("-").append(templ.get(templ.size()-1)).append(",");
}
templ = new ArrayList<>();
}
}else {
templ.add(list.get(m));
}
}
if(templ.size()==1) {
sb.append(templ.get(0)).append(",");
}else {
sb.append(templ.get(0)).append("-").append(templ.get(templ.size()-1)).append(",");
}
System.out.print(sb.substring(0, sb.length()-1));
}
}