压栈法/词法分析

来源:互联网 发布:java调用微信支付接口 编辑:程序博客网 时间:2024/05/20 15:59

 

<script>
var arr=["a","(","b","(","c",")","d",")","e","f","(","g",")","h"];
for(i=0;i<arr.length;i++){
//找到")"后,从后面往前找,找到最近的一个后跳出,并把中间的字符替换成空,或特殊字符,
if(arr[i]==")"){ 
for(k=i;k>=0;k--){ //从后往前找,找到最近一个
if(arr[k]=="("){
for(m=k;m<=i;m++){  //找出中间的字符,前后都可;
arr[m]="z"; //替换成空,或特殊字符
}
break;
//找到最近一个后跳出
}
}
}
//程序结束
}

//输出
for(j=0;j<arr.length;j++){
if(arr[j]=="z") continue;
document.write(arr[j]);
}

</script>

原创粉丝点击