/** Ċ Ġ* Ġhttps :// leetcode . com / problems / camel case - matching / Ċ Ġ*/ Ċ class ĠCamel Case Matching Ġ{ ĊĊĠĠĠ Ġfun Ġcamel Match ( queries : ĠArray < String >, Ġpattern : ĠString ): ĠBoolean Array Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlow ers Ġ= Ġ" abcdefgh ijkl mnopqrst uvw xyz " ĊĠĠĠĠĠĠĠ Ġval Ġup pers Ġ= Ġ" ABCDEF GH IJ KL MN OP Q RST UV W XYZ " ĊĊĠĠĠĠĠĠĠ Ġval Ġpattern Stack Ġ= Ġpattern . toList () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġqueries . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcopy Stack Ġ= Ġpattern Stack . to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisValid ( it , copy Stack ) ĊĠĠĠĠĠĠĠ Ġ}. to Boolean Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠisValid ( s : ĠString , Ġstack : ĠMutable List < Char >) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġs . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stack . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is UpperCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġstack [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtop ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstack . remove At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( it . is UpperCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstack . isEmpty () ĊĠĠĠ Ġ} Ċ }