题意:
一个01串S1,每位与邻数相加,得到新的串S2.
现在给你S2,求对应S1的一个字符分别为‘0’和‘1‘时S1是否存在
题解:
模拟,直接做就可以了
import java.util.*;
public class BinaryCode
{
String getStr(String str,int start)
{
char []s=str.toCharArray();
StringBuffer buf=new StringBuffer();
buf.append((char)(start+'0'));
int pre=start;
start=s[0]-'0'-start;
if(start!=0&&start!=1)
return "NONE";
for(int i=1;i<s.length;++i)
{
buf.append((char)(start+'0'));
s[i]-=(start+pre);
pre=start;
start=s[i]-'0';
if(start!=0&&start!=1)
return "NONE";
}
if(start!=0)
return "NONE";
return buf.toString();
}
public String [] decode(String s)
{
String []strs=new String[2];
strs[0]=getStr(s,0);
strs[1]=getStr(s,1);
return strs;
}
}