package ĠLe etCode . æķ° åŃ¦ Ċ Ċ /** Ċ Ġ* Ġ@ Author ĠA q inn Ċ Ġ* Ġ@ Date Ġ 2 0 2 1 / 5 / 3 0 Ġ 1 0 : 4 7 Ġä¸Ĭ åįĪ Ċ Ġ*/ Ċ class Ġ ç§»éĻ¤ K ä½į æķ°åŃĹ Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ é¢ĺ çĽ® æııè¿° : ĊĠĠĠĠ Ġ* Ġ ç»Ļ å®ļ ä¸Ģä¸ª ä»¥ åŃĹç¬¦ä¸² è¡¨ç¤º çļĦ éĿŀ è´Ł æķ´æķ° Ġnum ï¼Į ç§»éĻ¤ è¿Ļä¸ª æķ° ä¸ŃçļĦ Ġk Ġ ä½į æķ°åŃĹ ï¼Į ä½¿ å¾Ĺ åī © ä¸ĭçļĦ æķ°åŃĹ æľĢå°ı ãĢĤ ĊĠĠĠĠ Ġ* Ġ æ³¨æĦı : ĊĠĠĠĠ Ġ* Ġnum ĠçļĦ éķ¿åº¦ å°ı äºİ Ġ 1 0 0 0 2 Ġ ä¸Ķ Ġâī ¥ Ġk ãĢĤ ĊĠĠĠĠ Ġ* Ġnum Ġ ä¸įä¼ļ åĮħåĲ« ä»»ä½ķ åīį å¯¼ éĽ¶ ãĢĤ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠæĿ¥ æºĲ ï¼ļ åĬĽ æī £ ï¼Ī LeetCode ï¼ī ĊĠĠĠĠ Ġ* Ġ éĵ¾æİ¥ ï¼ļ https :// leetcode - cn . com / problems / remove - k - digits ĊĠĠĠĠ Ġ* Ġ èĳĹ ä½ľ æĿĥ å½Ĵ é¢Ĩ æī £ ç½ĳç»ľ æīĢæľī ãĢĤ åķĨ ä¸ļ è½¬ è½½ è¯· èģĶç³» å®ĺæĸ¹ æİĪæĿĥ ï¼Į éĿŀ åķĨ ä¸ļ è½¬ è½½ è¯· æ³¨ æĺİ åĩº å¤Ħ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġfun Ġremove K digits ( num : ĠString , Ġk : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( k Ġ>= Ġnum . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder ( num ) ĊĠĠĠĠĠĠĠ Ġvar Ġidx Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar Ġdelete Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( idx Ġ< Ġsb . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sb [ idx Ġ- Ġ 1 ] Ġ> Ġsb [ idx ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( idx Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( idx Ġ!= Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidx -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( delete Count Ġ== Ġk ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidx ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( idx Ġ>= Ġsb . length Ġ&& Ġdelete Count Ġ< Ġk ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. ( k Ġ- Ġdelete Count )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( sb . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġsb . toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( res . replace (" 0 ", Ġ""). isEmpty ()) Ġ" 0 " Ġelse Ġsb . toString (). trim Start (' 0 ') ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġmain Ġ= Ġ ç§»éĻ¤ K ä½į æķ°åŃĹ () ĊĠĠĠ Ġprintln ( main . remove K digits (" 1 0 ", Ġ 2 )) Ċ }