mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
997 B
56 lines
997 B
package solutions |
|
|
|
//This solution is the comparing file of the staff |
|
// Because the solution is a function, |
|
// |
|
//1) here the package is solutions |
|
//2) it does not need an empty func main(){} |
|
//3) its location is 1 level below the folder of the nauuo_test.go file |
|
|
|
func pushBack(node *NodeAddL, num int) *NodeAddL { |
|
nw := &NodeAddL{Num: num} |
|
if node == nil { |
|
return nw |
|
} |
|
for tmp := node; tmp != nil; tmp = tmp.Next { |
|
if tmp.Next == nil { |
|
tmp.Next = nw |
|
return node |
|
} |
|
} |
|
return node |
|
} |
|
|
|
func Changeorder(node *NodeAddL) *NodeAddL { |
|
if node == nil { |
|
return node |
|
} |
|
ans := &NodeAddL{Num: node.Num} |
|
for tmp := node; tmp != nil; { |
|
tmp = tmp.Next |
|
if tmp == nil { |
|
break |
|
} |
|
tmp = tmp.Next |
|
if tmp == nil { |
|
break |
|
} |
|
ans = pushBack(ans, tmp.Num) |
|
} |
|
|
|
if node.Next == nil { |
|
return ans |
|
} |
|
for tmp := node.Next; tmp != nil; { |
|
ans = pushBack(ans, tmp.Num) |
|
tmp = tmp.Next |
|
if tmp == nil { |
|
break |
|
} |
|
tmp = tmp.Next |
|
if tmp == nil { |
|
break |
|
} |
|
} |
|
return ans |
|
}
|
|
|