如: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 關注
- 224 瀏覽
添加回答
舉報
0/150
提交
取消