Help me in solving SUSSTR problem

My issue

Wrong Answer

My code

def find_resultant_string(n, s):
    alice_turn = True  # True for Alice, False for Bob
    t = ""
    
    while s:
        if alice_turn:
            # Alice's turn
            t += s[0]
            s = s[1:]
        else:
            # Bob's turn
            t += s[-1]
            s = s[:-1]
        
        alice_turn = not alice_turn  # Switch turns
    
    return t

def main():
    t = int(input("Enter the number of test cases: "))
    
    for _ in range(t):
        n = int(input())
        s = input().strip()
        
        result = find_resultant_string(n, s)
        print(result)

if __name__ == "__main__":
    main()

Learning course: Stacks and Queues
Problem Link: Suspense String Practice Problem in Stacks and Queues - CodeChef

@bharathkumartd
here plzz refer my c++ code for better understanding

#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    int n;
	    cin>>n;
	    string s;
	    cin>>s;
	    string ans;
	    for(int i=0,j=n-1,k=0;k<n;k++)
	    {
	        if(k%2==0)
	        {
	            if(s[i]=='0')
	            {
	                ans='0'+ans;
	            }
	            else
	            ans.push_back('1');
	            i++;
	        }
	        else
	        {
	            if(s[j]=='1')
	            {
	                ans='1'+ans;
	            }
	            else
	            ans.push_back('0');
	            j--;
	        }
	    }
	    cout<<ans<<endl;
	}

}