为什么java和c++一样的代码pta上c++能过而java有一个内存超限而acwing都能过
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
static Scanner sc=new Scanner(System.in);
static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args)throws Exception {
// Scanner sc=new Scanner(System.in);
String s1="";
String s2="";
// char a1[]=sc.next().toCharArray();
// char a2[]=sc.next().toCharArray();
String a1= br.readLine();
String a2= br.readLine();
for(int i=1;i<a1.length();i++){
if((a1.charAt(i)-'0')%2==(a1.charAt(i-1)-'0')%2){
if((a1.charAt(i)-'0')>(a1.charAt(i-1)-'0'))s1+=a1.charAt(i);
else s1+=a1.charAt(i-1);
}
}
for(int i=1;i<a2.length();i++){
if((a2.charAt(i)-'0')%2==(a2.charAt(i-1)-'0')%2){
if((a2.charAt(i)-'0')>(a2.charAt(i-1)-'0'))s2+=a2.charAt(i);
else s2+=a2.charAt(i-1);
}
}
if(s1.equals(s2)) System.out.println(s1);
else{
System.out.println(s1);
System.out.println(s2);
}
}
}
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1;
string s2;
string s3;
string s4;
cin>>s3;
cin>>s4;
for(int i=1;i<s3.length();i++){
if((s3[i]-'0')%2==(s3[i-1]-'0')%2){
if((s3[i]-'0')>(s3[i-1]-'0'))s1+=s3[i];
else s1+=s3[i-1];
}
}
for(int i=1;i<s4.length();i++){
if((s4[i]-'0')%2==(s4[i-1]-'0')%2){
if((s4[i]-'0')>(s4[i-1]-'0'))s2+=s4[i];
else s2+=s4[i-1];
}
}
cout<<s1;
if(s1.compare(s2))cout<<endl<<s2;
return 0;
}
pta到底是哪里有问题
题目地址
https://pintia.cn/problem-sets/994805046380707840/exam/problems/1518581803354341376
提示信息很明确了,内存超了,稍微再精简精简,一般超的不多,可以勉强过去