題意:
一個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;
}
}