iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

上集解答

import java.util.Stack

fun main(){
    var s = Stack<Char>()
    var inp = readln()
    var match = true;
    for(i in 0 .. inp.length-1){
        if(inp[i]=='('){
            s.push(inp[i])
        }
        if(inp[i]==')'){
            if(s.empty()!=true){
                s.pop()
            }
            else{
                match = false;
            }
        }
    }
    if(match){
        println("Yes")
    }
    else{
        println("NO")
    }
}

有一點難喔,不知道大家有沒有做對。

MutableList

接下來要介紹的資料結構是MutableList。

簡單來說,他是可以擴充的陣列,所以宣告方法一樣。

var ml = MutableList<Int>(0){0}

不過這次我們的size就可以先為0了,因為你是可以不斷塞值進去的。

如果我們需要塞值進去,只要使用add() method,像這樣:

a.add(12)

喔對了我在陣列的時候忘記提到,這裡再補充一下,MutableList跟陣列都有一個屬性叫size,可以知道他的大小,字串則有一個length的屬性可以用。

如果你要刪值的話,你可以使用removeAt()這個method,參數則是第幾格。

其他使用方法就跟陣列一樣了,取值一樣用[]就行。

使用範例

fun main(){
    var a:MutableList<Int> = MutableList<Int>(0){0}
    a.add(420)
    a.add(114514)
    println(a.size)
    for(i in 0..a.size-1){
        println("${a[i]}")
    }
		a.removeAt(0)
}

輸出結果是

2
420
114514

今天沒有練習題目,不過一樣還是自己玩玩看MutableList喔~


上一篇
[Da17][資結]堆疊
下一篇
[Day19][資結]LinkedList 與 Queue
系列文
櫛風風的「完全不會寫程式,從零開始的 Kotlin 教學」30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言