在字符串中找到最长的数字串(包含+-)
1。数字开头可以有 +- 号
2。数字可以有小数点
3。小数点前后必须要有数字
4。有相同长度的取靠后的一串
返回结果串,没有结果返回空串
面试的时候没多想,直接一个窗口往字符串上撸,情况太复杂了撸挂了。时间不多改写了一个双重循环给了一个暴力解。
面试完了,冷静下来想想,这题也没那么复杂。再写了个十五分钟还是搞定了这题。
合法:12、+001、-1.1
非法:++1、+.1、1.、-00.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
char[] line = s.toCharArray();
List<Integer> data = new ArrayList<>();
if (isNumber(line[0])) {
data.add(0);
}
for (int i = 1; i < line.length; i++) {
if (isNumber(line[i]) ^ isNumber(line[i - 1])) {