求解一个树形递归遍历

//变量名:[上一个,下一个]
        a3: ['a2', 'a4'],
        a4: ['a3', ['a6', 'a7', 'a8']],
        a6: ['a50', ''],
        a7: ['a20', 'a21'],
输入a3,求解用递归算出这3条线路
a3-a4-a6
a3-a4-a7-a21
a3-a4-a8

 

这是java语言吗 有点没看懂结构