2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution

In this guide, you will get 2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution with the best time and space complexity. The solution to Apply Bitwise Operations to Make Strings Equal problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Apply Bitwise Operations to Make Strings Equal solution in C++
  4. Apply Bitwise Operations to Make Strings Equal solution in Java
  5. Apply Bitwise Operations to Make Strings Equal solution in Python
  6. Additional Resources
2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution image

Problem Statement of Apply Bitwise Operations to Make Strings Equal

You are given two 0-indexed binary strings s and target of the same length n. You can do the following operation on s any number of times:

Choose two different indices i and j where 0 <= i, j < n.
Simultaneously, replace s[i] with (s[i] OR s[j]) and s[j] with (s[i] XOR s[j]).

For example, if s = "0110", you can choose i = 0 and j = 2, then simultaneously replace s[0] with (s[0] OR s[2] = 0 OR 1 = 1), and s[2] with (s[0] XOR s[2] = 0 XOR 1 = 1), so we will have s = "1110".
Return true if you can make the string s equal to target, or false otherwise.

Example 1:

Input: s = “1010”, target = “0110”
Output: true
Explanation: We can do the following operations:
– Choose i = 2 and j = 0. We have now s = “0010”.
– Choose i = 2 and j = 1. We have now s = “0110”.
Since we can make s equal to target, we return true.

See also  867. Transpose Matrix LeetCode Solution

Example 2:

Input: s = “11”, target = “00”
Output: false
Explanation: It is not possible to make s equal to target with any number of operations.

Constraints:

n == s.length == target.length
2 <= n <= 105
s and target consist of only the digits 0 and 1.

Complexity Analysis

  • Time Complexity: O(n)
  • Space Complexity: O(1)

2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution in C++

class Solution {
 public:
  bool makeStringsEqual(string s, string target) {
    return (s.find('1') != string::npos) == (target.find('1') != string::npos);
  }
};
/* code provided by PROGIEZ */

2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution in Java

class Solution {
  public boolean makeStringsEqual(String s, String target) {
    return s.contains("1") == target.contains("1");
  }
}
// code provided by PROGIEZ

2546. Apply Bitwise Operations to Make Strings Equal LeetCode Solution in Python

class Solution:
  def makeStringsEqual(self, s: str, target: str) -> bool:
    return ('1' in s) == ('1' in target)
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.