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.
64 lines
1.0 KiB
64 lines
1.0 KiB
package main |
|
|
|
//This solution is the placeholder of the student solution |
|
// for an exercise in the exam asking for a Function |
|
//Remember the disclaimer!!!! |
|
//1) here the package is main |
|
//2) It does need an empty func main(){} |
|
|
|
type NodeAddL struct { |
|
Next *NodeAddL |
|
Num int |
|
} |
|
|
|
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 |
|
} |
|
|
|
func main() { |
|
|
|
}
|
|
|