輸入兩個鏈表,找出它們的第一個公共結點。
當不存在公共節點時,返回空節點。
樣例
給出兩個鏈表如下所示:
A: a1 → a2
↘
c1 → c2 → c3
↗
B: b1 → b2 → b3
輸出第一個公共節點c1
class Solution {
public:
typedef long long ll;
const ll maxn = (1 << 31) - 1;
const ll minn = -(1 << 31);
int strToInt(string str) {
int n = str.size();
ll ans = 0;
int posi = 1;
int flag = 1;
for(int i = 0;i < n;i++) {
if(str[i] == '+') posi = 1;
else if(str[i] == '-') posi = -1;
else if(str[i] == ' ') continue;
else if(str[i] >= '0' && str[i] <= '9') {
ans = ans * 10 + str[i] - '0';
if(posi == 1 && ans > maxn) ans = maxn;
else if(posi == -1 && ans > -minn) ans = -minn;
flag = 0;
}
else if(flag) return 0;
}
return ans * posi;
}
};