# 2023. Number of Pairs of Strings With Concatenation Equal to Target
###### tags: `Leetcode` `Medium` `String`
Link: https://leetcode.com/problems/number-of-pairs-of-strings-with-concatenation-equal-to-target/
## 思路 $O(N)$ $O(N)$
如果把if都合并起来的话,就会有问题。例如如果target是"7777", nums里面有一个"77", 那么它会先被加到prefix_map里面,然后在第二个if的时候,就会因为存在len=2的prefix,cnt+1(但实际上不应该+1,因为这样相当于自己跟自己combine)
## Code
```java=
class Solution {
public int numOfPairs(String[] nums, String target) {
Map<Integer, Integer> prefix_map = new HashMap<Integer, Integer>();
Map<Integer, Integer> suffix_map = new HashMap<Integer, Integer>();
int cnt = 0;
int targetLen = target.length();
for(String num:nums){
int numLen = num.length();
if(target.startsWith(num)){
cnt += suffix_map.getOrDefault(targetLen-numLen,0);
}
if(target.endsWith(num)){
cnt += prefix_map.getOrDefault(targetLen-numLen,0);
}
if(target.startsWith(num)){
prefix_map.put(numLen, prefix_map.getOrDefault(numLen,0)+1);
}
if(target.endsWith(num)){
suffix_map.put(numLen, suffix_map.getOrDefault(numLen,0)+1);
}
}
return cnt;
}
}
```