如:input:a0; output:invalid! input:a00;output:valid!input:ab000;output:valid!input:ab000c0;output:invalid!(0是二叉树的虚节点,用前序来创建排列输入的字符串)以下是我用的部分代码,但如果输入不合法的,如果是遗漏虚节点的(如:a0)运行时候就没反应,如果是有多余的节点的(如:ab000c0),程序直接忽略了运行。typedef struct Binnode{char data;struct Binnode *lchild;struct Binnode *rchild;}Binnode,*Bintree ;{char ch;if((ch=getchar())=='0'){*root=NULL;}else{ *root=(Bintree)malloc(sizeof(Binnode));(*root)->data=ch;Creat_Bintree(&(*root)->lchild);Creat_Bintree(&(*root)->rchild);}}
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
设置一个char a[]来保存输入的Input
然后遍历数组a[],直到strlen
根据a[]里面的字符进行判断.
如果第一个是0,则检测是否后面有不是0的字符,如果有,就是invalid
如果第一个不是0,检测第二个,如果第二个为0,检测第三个,如果第三个不为0,输出invalid
如果第一个不是0,检测第二个,如果第二个不为0,检测第三个等等,不断循环
- 1 回答
- 0 关注
- 164 浏览
添加回答
举报
0/150
提交
取消