IMO, It's not worthy to make it distinct, moreover, you should use generic instead of int for nodes label.
Unrelated to the question, you should keep the Node definition is literally as a node, and keep Edge definition is the connection from Node1 and Node2. The array of two nodes index for incoming/outgoing will be unused the more you add APIs to your graph.