mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2026-03-13 10:02:05 +08:00
添加 structures
This commit is contained in:
37
structures/NestedInteger.go
Normal file
37
structures/NestedInteger.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package structures
|
||||
|
||||
// NestedInteger is the interface that allows for creating nested lists.
|
||||
// You should not implement it, or speculate about its implementation
|
||||
type NestedInteger struct {
|
||||
Num int
|
||||
Ns []*NestedInteger
|
||||
}
|
||||
|
||||
// IsInteger Return true if this NestedInteger holds a single integer, rather than a nested list.
|
||||
func (n NestedInteger) IsInteger() bool {
|
||||
return n.Ns == nil
|
||||
}
|
||||
|
||||
// GetInteger Return the single integer that this NestedInteger holds, if it holds a single integer
|
||||
// The result is undefined if this NestedInteger holds a nested list
|
||||
// So before calling this method, you should have a check
|
||||
func (n NestedInteger) GetInteger() int {
|
||||
return n.Num
|
||||
}
|
||||
|
||||
// SetInteger Set this NestedInteger to hold a single integer.
|
||||
func (n *NestedInteger) SetInteger(value int) {
|
||||
n.Num = value
|
||||
}
|
||||
|
||||
// Add Set this NestedInteger to hold a nested list and adds a nested integer to it.
|
||||
func (n *NestedInteger) Add(elem NestedInteger) {
|
||||
n.Ns = append(n.Ns, &elem)
|
||||
}
|
||||
|
||||
// GetList Return the nested list that this NestedInteger holds, if it holds a nested list
|
||||
// The list length is zero if this NestedInteger holds a single integer
|
||||
// You can access NestedInteger's List element directly if you want to modify it
|
||||
func (n NestedInteger) GetList() []*NestedInteger {
|
||||
return n.Ns
|
||||
}
|
||||
Reference in New Issue
Block a user