由于坐标一定是;分割,所以每次都把第一个分号前面的字符串得到,然后判断是否合法,进而对坐标进行加加减减,就可以得到最终的目标;而且首先判断是否合法也有一个好处,就是可以避免非法情况进入正常的处理流程; string a; a.find(';'); 返回第一个`;`的位置 a.substr(0, len); a.erase(0, len + 1); //需要包括分号 #include<bits/stdc++.h> using namespace std; unordered_set<char> st{'W', 'S', 'A', 'D'}; bool isValid(st...