🎯Easy explanation || O(n) || Greedy Approach  🚀
Intuition
If the s.length < k we cannot construct k strings from s and answer is false.
If the number of characters that have odd counts is > k then the minimum
# Intuition
1. If the s.length < k we cannot construct k strings from s and answer is false.
2. If the number of characters that have odd counts is > k then the minimum number of palindrome strings we can construct is > k and answer is false.
3. Otherwise you can construct exactly k palindrome strings and answer is true.


# Complexity
- Time complexity:
$$O(n)$$

- Space complexity:
$$O(n)$$

# Code
```cpp []
class Solution {
public:
    bool canConstruct(string s, int k) {
        if (s.size() < k)   return false;
        unordered_map<char, int> hash;
        for (char ch : s)   hash[ch]++;
        int count = 0, optional = 0;
        for (auto x : hash) {
            if (x.second % 2 == 1)  count++;
        }
        return count <= k;
    }
};
```

![image.png](https://assets.leetcode.com/users/images/f2f362ba-c1d4-428b-8686-c776ee1cb01d_1736592355.359848.png)

['C++']