import java.util.LinkedList;
import java.util.Queue;
import java.util.regex.Pattern;
class Solution {
private String symbol = "";
private Pattern pattern = Pattern.compile("^[0-9]$");
private StringBuilder builder = new StringBuilder();
private String result = "0";
private boolean firstFlag = true;
public int myAtoi(String s) {
if (s == null || s.trim().length() == 0) {
return 0;
}
Queue<Character> characterQueue = new LinkedList<>();
char[] charArray = s.toCharArray();
for (char c : charArray) {
characterQueue.offer(c);
}
while (firstFlag && !characterQueue.isEmpty()) {
Character poll = characterQueue.poll();
if (poll != ' ') {
firstFlag = false;
if (poll == '-') {
symbol = "-";
} else if (pattern.matcher(poll.toString()).find()) {
builder.append(poll);
} else {
break;
}
}
}
handle(characterQueue);
if (!builder.toString().equals("")) {
result = symbol + builder;
}
return Integer.parseInt(result);
}
private void handle(Queue<Character> characterQueue) {
while (!characterQueue.isEmpty()) {
Character poll = characterQueue.poll();
if (poll == '-') {
symbol = "-";
} else if (pattern.matcher(poll.toString()).find()) {
builder.append(poll);
} else {
break;
}
}
}
}
LeetCode刷题:浅用一下队列
最新推荐文章于 2024-07-10 21:37:49 发布