题解 | #参数解析#

参数解析

https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

这道题就是双引号的处理方式。

双引号,如果左面的,需要等到右面的才能够获得一个结果

这里面要注意引号里面也有空格,所以对空格的处理需要注意是否在引号当中。

时间复杂度O(n)

空间复杂度O(n)

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str=in.nextLine();
        StringBuffer sb = new StringBuffer();
        int result=0;
        List<String> resultStr = new ArrayList();
        boolean hasLeft=false;
        for(char a:str.toCharArray()){
            
            if(a==' ' && !hasLeft){
                if(sb.length()>0){
  resultStr.add(sb.toString());
 result++;
                sb=new StringBuffer();
                }
               
            }else if(a=='\"'){
                if(hasLeft){

                 
                    result++;
                    resultStr.add(sb.toString());
                     sb=new StringBuffer();
                     hasLeft=false;
             
                }else{
                    hasLeft=true;
  continue;
                }
          
            }else{
                sb.append(a);
            }
        }
        if(sb.length()>0){
            result++;
            resultStr.add(sb.toString());
        }
        System.out.println(result);
        resultStr.stream().forEach((a)->{
            System.out.println(a);
        });
  
    }
}

全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务